Mainly resolve how to separate data from the application from the application. This issue will encounter this problem as long as the application deals with the database. Traditional C / S architecture uses most of the code of data access and application, there are several issues:
o? Tightly coupled to the specific database technology, such as our company's products based on SQL Server, now it is difficult to switch over Oracle, let alone is a new technology -XML database or object-oriented database;
o? Application is closely coupled to the data model, lacking elasticity.
o? It is difficult to optimize, each module is written by different programmers, but everyone is not everyone's development of the database, so that the efficiency of the program is low, and it is expensive to optimize these code costs;
o? Invented in maintenance, when the program is problematic, it is not easy to find the source of the problem - from business logic or data access logic;
?
This section introduces four modes: O? Data Accessor O? Action Domain Object O? Object / Relationship Mapping O??