Clean architecture
Point source dependencies inward to protect application policy.
Open field noteA field guide for your next project
Learning resources for understanding and comparing concepts and choices. Choose a category to explore examples and tradeoffs.
Search within: Catalog
78 field notes
Point source dependencies inward to protect application policy.
Open field noteSeparate application rules from input and storage technologies through ports and replaceable adapters.
Open field noteSeparate stable responsibilities along a simple dependency path.
Open field noteDeploy capabilities independently when operational independence justifies coordination.
Open field noteEnforce module ownership while retaining one deployment unit.
Open field noteDeploy together when simple operations outweigh independent releases.
Open field noteUse existing agent instructions and checks when extra workflow setup adds little value.
Open field noteKeep current specifications alongside reviewed change proposals and deltas when evolving agreed behavior.
Open field noteTrack requirements through a specification, plan, tasks, and implementation checks when shared rules need durable agreement.
Open field noteUse composable development skills when repeatable design, testing, debugging, and review steps are the priority.
Open field noteBuild interfaces from components and state, suited to teams that want JavaScript-driven rendering and explicit state ownership.
Open field noteCompile declarative components when concise reactive authoring matters.
Open field noteBind templates to reactive state for template-oriented authoring.
Open field noteDistributed history and branches for local work with a separate choice of hosting.
Open field noteDistributed version control with sharing phases, suited to an established hg workflow.
Open field noteVersion control suited to asset workflows that need configured exclusive file editing.
Open field noteCentralized version control for teams retaining an established SVN repository and workflow.
Open field noteRepository collaboration with branch policies inside an existing Azure DevOps workflow.
Open field noteGit hosting with Jira-linked development work for teams using Bitbucket Cloud.
Open field noteCommunity-operated Git hosting for projects aligned with a nonprofit free-software mission.
Open field noteSelf-hostable Git collaboration for teams willing to own service operations.
Open field noteGit hosting and pull-request collaboration where contributors already work on GitHub.
Open field noteGit collaboration connecting merge requests and configured CI in one workflow.
Open field noteKeep a process listening for requests, with runtime control and responsibility for capacity, supervision and recovery.
Open field noteRun event-triggered work without owning long-lived compute processes.
Open field noteServe prebuilt public files with minimal application operations.
Open field noteRepeated rows align text and metadata when scanning comparable fields matters more than image variety.
Open field notePack varied-height items into short columns when preserving image proportions matters more than shared rows.
Open field noteCoordinate navigation, active content and context in distinct regions when they must be seen together.
Open field noteOne vertical reading stream suits content whose next step should be unambiguous.
Open field noteKeep navigation, filters or supporting information beside the main content so both remain available.
Open field noteEqual-width cards and shared rows support fair comparison of similarly structured items.
Open field noteRaw typography and exposed structure suit an intentionally utilitarian visual voice.
Open field noteSolid surfaces and explicit labels establish hierarchy when simulated depth adds little value.
Open field noteUse translucent, blurred panels to preserve background context while keeping foreground content readable.
Open field noteAn adaptive, floating control material preserves rich content beneath a distinct navigation layer.
Open field noteColor, shape, size and motion emphasize key actions within the Material design system.
Open field noteReduce competing elements to focus attention while retaining essential information and controls.
Open field noteBright blocks, thick outlines and hard shadows give selected content deliberate graphic emphasis.
Open field noteSimilar-tone surfaces and paired shadows suggest soft raised or pressed controls.
Open field noteEarly-computer windows, pixel details and type evoke a deliberate digital nostalgia.
Open field noteFamiliar object and material cues explain digital content through a recognizable physical metaphor.
Open field noteLayered paper, tape and fragments create an assembled, handmade visual character.
Open field noteEqual character advances suit aligned text data; shape and fallback coverage remain separate concerns.
Open field noteVarying character advances suit flowing text; letter spacing is a separate adjustment.
Open field noteLetterforms without serifs suit a plain visual voice; readability still depends on the chosen face and context.
Open field noteHandwritten strokes suit short expressive lettering while ordinary text carries detailed instructions.
Open field noteFinishing strokes at letter terminals create a distinct text texture; choose by editorial tone and tested legibility.
Open field noteAdvertisers fund access when audience attention has commercial value.
Open field noteEarn a referral commission when an external purchase qualifies.
Open field noteUsers fund access when its value supports payment.
Open field noteFund shared resources through support rather than access sales.
Open field noteTake a share of completed marketplace transactions.
Open field noteCollect once when a bounded purchase can fund its promise.
Open field noteCollect before consumption and spend a bounded credit balance.
Open field noteCharge over recurring periods for continuing value; define renewal, payment failure and access policies.
Open field noteBill measured consumption when work varies by customer.
Open field noteCombine an included allowance with a charge for excess usage.
Open field notePrice distinct capabilities when customers need different feature sets.
Open field noteCharge one package price when a predictable bundle matters most.
Open field notePrice each quantity band separately and add the subtotals.
Open field noteScale price with licensed people when access per person drives value.
Open field noteApply the reached quantity tier’s rate to every unit.
Open field note