和有什么区别
- 一个简单的fields-accessors-mutators类
- 丰富的模型类
什么构成业务领域类中的丰富建模?
这里使用的“丰富”意味着“丰富的行为”(与状态相反)。
有技术行为和领域行为。访问器和突变器是技术性的;他们缺乏定义商业利益的“为什么”。
领域对象代表“为什么”并封装“如何”。实际上,所有对象都这样做。领域对象专门为商业价值而做。
假设您作为员工域对象,必须请假一天。您有 2 个选项:
模型 1 很丰富。“为什么”(休假时间)封装了“如何”(标记日程)。
模型 2 将管理器降级为一个简单的属性包,并泄露了调度抽象。
当您的业务逻辑封装在您的业务对象中时。换句话说,您有一个业务对象(域模型)层,而不需要单独的业务逻辑层。