Application Patterns
What Is an Application Pattern?
An Application Pattern is a reusable architectural standard that captures the shared characteristics a family of applications should conform to. Rather than documenting the same business rules, UI components, technologies, and acceptance criteria independently on every application, you define them once on a pattern — and all applications that follow the pattern benefit automatically.
The concept draws on the long-established practice of architectural pattern documentation. Martin Fowler’s Patterns of Enterprise Application Architecture established the idea that recurring architectural decisions can be captured as named, reusable patterns. ArchRepo’s Application Pattern brings this directly into your architecture model: a pattern is a first-class model item that applications are explicitly linked to, creating a traceable, governed relationship between the standard and its implementations.
Why Use Application Patterns?
Without patterns, common standards get duplicated. The same acceptance criteria get copied across ten applications. The same approved technology stack is manually re-recorded on every app. When the standard changes, every copy must be updated.
Application Patterns solve this by establishing a single source of truth for shared architectural standards:
- No duplication — define a business rule, UI component, or acceptance criterion once; link it to the pattern rather than to each individual application
- Single point of change — when a standard evolves, update the pattern and the change is reflected everywhere
- Consistent governance — all applications following a pattern are held to the same documented standards, making compliance audits straightforward
- Clear implementation guidance — a pattern communicates to development teams exactly what they will get (and must implement) when building to the standard
Application Patterns in ArchRepo
In ArchRepo, Application Patterns are model items identified by an auto-generated reference in the format APN-1, APN-2, etc.
Patterns support:
- Status and transition states — track a pattern’s lifecycle from draft through to approved and deprecated
- Estimation — record effort estimates for implementing the pattern
A pattern can be linked to:
- UI Components — the interface elements that applications following this pattern should use
- Technologies — the approved technology stack the pattern is built on
- Business Rules — the rules the pattern implements
- Use Cases — the use cases the pattern addresses
- Acceptance Criteria and Implementation Acceptance Criteria — the standards all conforming applications must meet
Acceptance Criteria Inheritance
When you link Acceptance Criteria or Implementation Acceptance Criteria to an Application Pattern, those criteria are automatically displayed on every application that follows the pattern.
This means you only need to document the criterion once — on the pattern — and it will appear in the documentation of all conforming applications. This keeps criteria consistent, avoids duplication, and ensures that when a criterion is updated, the change is immediately visible everywhere it applies.
Fields Reference
See Application Pattern Fields for a description of each field and guidance on what to record.