260 likes | 421 Views
Presentation & Business Tier Design Patterns. Pearce. Definitions. Pattern = reusable design Pattern Catalog = catalog of design patterns Horizontal Vertical Architectural pattern = Macro pattern = a composite pattern. Four Tier Architecture. Issues.
E N D
Definitions • Pattern = reusable design • Pattern Catalog = catalog of design patterns • Horizontal • Vertical • Architectural pattern = Macro pattern = a composite pattern
Issues • Migrating Business Logic from Presentation to Business Tier • Providing B2B Business Tier
MVC Variations • Service to Worker • View-Dispatcher
Business Tier (Model) Patterns • Entities • Beans • Value Objects • Data Access Objects • DAO Factories • etc.
Entities • An entity is an object that represents a persistent business entity such as an account or a customer. • Entities must persist between the sessions or transactions that use them. • Entities are stored in files or databases • Entities are beans • Simple or EJB.
Java Beans • A Java bean is an object that conforms to the Java Bean Component Model. • getters & setters for attributes • notifies listeners of attribute changes • serializable • etc.
Example: A Person Entity public class Person extends Entity { private String first; private String last; private Address address; private Phone phone; public Phone getPhone() { return phone; } public void setPhone(Phone p) { phone = p; } // etc.}
Value Objects • A value object holds the attributes of one or more entities in public fields. • Pass value objects, not entities, between layers. This reduces network traffic. • Value objects can update and create entities. • Entities can create value objects.
Example: Person VO public class PersonVO extends ValueObject { public String first; public String last; public int addressOid; public String street; public String apartment; public String city; public String state ; public String zip; public int phoneOid; public String phone; public void update(Person per) { ... } public Person makePerson() { ... }}
Data Access Objects (DAOs) • A DAO represents a data source. • DAOs are created by DAO factories. • DAOs hide the complexities of connecting with the underlying data source.
Example: Person DAO public interface PersonDAO { public int insert(PersonVO pvo) throws DAOException; public boolean delete(String name) throws DAOException; public PersonVO find(String name) throws DAOException; public boolean update(PersonVO pvo) throws DAOException;}
Presentation Tier Patterns(Controller and View) • View • View Helper • Front Controller
Front Controller • Single access point for all forms. • May verify & validate request • May analyzes request • May assemble business data needed by view (Service-to-Worker) • Selects and dispatches to view
View Helper • Acts as intermediary between view and business tier • Performs view-specific tasks
View • Generates HTML response • View may assemble the data it needs (Dispatcher-View) • Needed data may be assembled by controller (Service-to-Worker) • Provides utilities for generating HTML