nA clear separation of application component
responsibility.
nPresentation layer
nConcentrates on request/response actions
nHandles UI rendering from a model.
nContains formatting logic and non-business related
validation logic.
nHandles exceptions thrown from other layers
nPersistence layer
nUsed to communicate with a persistence store such as a
relational DB
nProvides a query language
nPossible O/R mapping capabilities
§JDBC, Hibernate, iBATIS, JDO, Entity Beans, etc.
nDomain layer
nContains business objects that are used across above
layers.
nContain complex relationships between other domain
objects
nMay be rich in business logic
nMay have ORM mappings
nDomain objects should only have dependencies on other
domain objs