What is IT With the complement of business affairs, we should use Domain Model mode to develop applications. Domain Model uses Domain Model to integrate data with its behavior, we need to add a complete object layer in the application, these objects imitate the objects in the business system and its logic rules, this and TRANSACTION SCRIPT Object is only the data that does not contain business logic. A Simple Domain Model looks very similar to database design. Each Domain Object corresponds to a data sheet, you can use Active Record mode to interact with database; Rich Domain Model Otherwise, by using inheritance, policies and other modes and interrelated object networks, Rich Domain Model can better handle more complex logic, and also increase the difficulty of mapping between database, which can be used to deal with Data Mapper mode. Based on business logic's variability, data object layers should also be more flexible, modify, and test so that we must minimize coupling between this layer with other levels. WHEN To Use IT When you face a business rule involving verification, calculation, etc., you need to consider using Domain Model. When using Domain Model, the first choice for database interaction is Data Mapper, which helps your object layer independent of the database. You can also consider using Service Layer to expose your Domain Model to a clearer API. The use of Domain Model is that through the inheritance polymorphism such as the object class, it can be easily extended to accommodate multiple corporate logic, while mitigating the phenomenon of repeating code. And Transaction Script Differences Transaction Script: Read Data from Database -> Call Transaction Processing Domain Model: Read Data from Database -> Mapping to Data Object Class -> Call Object Class Function to handle business transactions