- Data Acsess Object
- Forces
- Solution
- Consequences
- Related Patterns
Related Patterns
- Transfer Object (415)
- Factory Method [GoF] and Abstract Factory [GoF]
- Broker [POSA1]
- Transfer Object Assembler (433)
- Value List Handler (444)
Data access objects in their most basic form use transfer objects to transport data to and from their clients. Transfer Object (415) are used in other strategies of Data Access Objects. The RowSet Wrapper List strategy returns a list as a transfer object.
The Data Access Object Factory strategies use the Factory Method pattern to implement the concrete factories and its products (DAOs). For added flexibility, the Abstract Factory pattern is used as described in the Data Access Object Factory strategy.
The DAO pattern is related to the Broker pattern, which describes approaches for decoupling clients and servers in distributed systems. The DAO pattern more specifically applies this pattern to decoupling the resource tier from clients in another tier, such as the business or presentation tier.
The Transfer Object Assembler (433) uses the Data Access Object to obtain data to build the composite transfer object it needs to assemble and send as the model data to the client.
The value list handler needs a list of results to act upon. Such a list is often obtained using a Data Access Object, which can return a set of results. While the value list handler has an option of obtaining a RowSet from the Data Access Object, it might be better to obtain and use a RowSet Wrapper List instead.