官术网_书友最值得收藏!

Factory

A factory is required when a simple constructor is not enough to create the object. It helps to create complex objects, or an aggregate that involves the creation of other related objects.

A factory is also a part of the life cycle of domain objects, as it is responsible for creating them. Factories and repositories are in some way related to each other, as both refer to domain objects. The factory refers to newly created objects, whereas the repository returns the pre-existing objects either from the memory, or from external storage.

Let's see how control flows, by using a user creation process application. Let's say that a user signs up with a username, user1. This user creation first interacts with the factory, which creates the name user1 and then caches it in the domain using the repository, which also stores it in the storage for persistence.

When the same user logs in again, the call moves to the repository for a reference. This uses the storage to load the reference and pass it to the requester.

The requester may then use this user1 object to book the table in a specified restaurant, and at a specified time. These values are passed as parameters, and a table booking record is created in storage using the repository:

Repository object flow

The factory may use one of the object-oriented programming patterns, such as the factory or abstract factory pattern, for object creation.

主站蜘蛛池模板: 子长县| 策勒县| 永丰县| 宜丰县| 陈巴尔虎旗| 应用必备| 襄樊市| 安庆市| 凯里市| 饶河县| 信宜市| 曲靖市| 天镇县| 南阳市| 增城市| 丁青县| 固安县| 繁昌县| 崇左市| 萨嘎县| 英吉沙县| 韶关市| 襄樊市| 哈尔滨市| 铜鼓县| 瑞金市| 诸暨市| 昔阳县| 苏尼特右旗| 永和县| 泸西县| 炉霍县| 扶沟县| 民县| 驻马店市| 营口市| 铜川市| 城市| 镇坪县| 广州市| 佛教|