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

Sample domain service

Let's create a sample domain service based on our table-reservation system. As discussed in this chapter, the importance of an efficient domain layer is the key to successful products or services. Projects developed based on the domain layer are more maintainable, highly cohesive, and decoupled. They provide high scalability in terms of business requirement changes, and have a low impact on the design of other layers.

Domain-driven development is based on the relevant domain, hence it is not recommended that you use a top-down approach where the UI would be developed first, followed by the rest of the layers, and finally the persistence layer. Nor should you use a bottom-up approach, where the persistence layer, such as the DB, is designed first, followed by the rest of the layers, with the UI last.

Having a domain model developed first, using the patterns described in this book, gives clarity to all team members functionality-wise, and an advantage to the software designer to build a flexible, maintainable, and consistent system that helps the organization to launch a world-class product with fewer maintenance costs.

Here, you will create a restaurant service that provides a feature to add and retrieve restaurants. Based on your implementation, you can add other functionalities, such as finding restaurants based on cuisine or ratings.

Start with the entity. Here, the restaurant is our entity, as each restaurant is unique and has an identifier. You can use an interface, or set of interfaces, to implement the entity in our table-reservation system. Ideally, if you follow the interface segregation principle, you will use a set of interfaces rather than a single interface.


According to  Interface Segregation Principle ( ISP) clients should not depends upon interfaces that they don't use.
主站蜘蛛池模板: 平顺县| 建湖县| 霞浦县| 安吉县| 仁布县| 海伦市| 南乐县| 柯坪县| 新昌县| 沂源县| 边坝县| 镇坪县| 历史| 烟台市| 屯昌县| 乌鲁木齐市| 齐河县| 鄱阳县| 左权县| 泰顺县| 博野县| 舟曲县| 绥阳县| 渭源县| 滦南县| 凉山| 景德镇市| 石阡县| 新丰县| 泗洪县| 尼勒克县| 山西省| 达孜县| 三台县| 肥西县| 额敏县| 蒲江县| 陵川县| 济南市| 韩城市| 温州市|