Cohesive Systems logoCOHESIVE SYSTEMS

Search Cohesive Systems

Ready

Search Cohesive Systems

Find product pages, building blocks, technical articles, and graph definitions.

Patterns of Enterprise Application Architecture

Patterns of Enterprise Application Architecture, or PoEAA, catalogs recurring structures for domain logic, application boundaries, relational persistence, web presentation, distribution, offline concurrency, session state, and foundational mapping or gateway roles.

Cohesive Correspondence

PoEAA familyRepresentative patternsCohesive correspondence
Domain logicTransaction Script, Domain Model, Table Module, Service Layersemantic transitions and processes, application observer boundaries, architecture practices, and host-language realization
Data source architectureTable Data Gateway, Row Data Gateway, Active Record, Data Mapperpersistence and reconstitution correspondences, ports, storage systems, and separation or collapse of domain and storage shapes
Object-relational behaviorUnit of Work, Identity Map, Lazy Loadcommit boundaries, identity correspondence, observation, caching, concurrency, and reconstitution
Object-relational structureIdentity Field, association and inheritance mappings, Embedded Value, Serialized LOBentity and value correspondence to storage schemas, shapes, relations, and compatibility
PresentationModel-View-Controller, Page Controller, Front Controller, Template View, Application Controllerobserver models, projection models, interaction, application hosts, and UI realization
DistributionRemote Facade, Data Transfer Objectinteraction boundaries, shapes, batching or coarsening, network realization, and information loss
Offline concurrencyOptimistic, Pessimistic, Coarse-Grained, and Implicit Lockconcurrency control, isolation, versioning, authority, and commit boundaries
Base patternsGateway, Mapper, Repository, Separated Interface, Registry, Value Objectarchitecture-practice and realization roles that require semantic qualification

Reconciliation with DDD

PoEAA often begins closer to application structure and persistence mechanics than DDD. Its Domain Model pattern can host DDD semantics, but an object graph does not become a domain model merely by containing behavior. Repository can present collection-like access to domain objects, but storage identity, freshness, query semantics, and commit behavior remain explicit. Value Object corresponds to identity-free domain value only when equality, shape, units, and boundary meaning agree.

Patterns such as Active Record deliberately combine concerns that Data Mapper separates. Cohesive records that structural choice without declaring one universally correct: the preservation question is whether the selected arrangement maintains domain identity, transition authority, invariants, observations, and commit meaning.

External References

Related concepts: pattern languages and correspondence, domain-driven design, analysis patterns, entity, value, transition, observer models, projection models, interaction, persistence, reconstitution, commit boundaries, concurrency control, ports and adapters, storage systems, application hosts.