在模型驱动开发中,manager在需要的地方依然是存在的,manager职责是对某一类对象集合体的操作,就像现实中的管理者,主要的职责是计划、分工、协调、激励,管理者会负责把符合要求的对象找出来、命令这些对象去做一些事情、要求这些对象把结果汇报给自己,但是管理者不会自己动手做所有的事情,除非被管理对象全部都是木偶或者死物,实际上软件中的被管理对象通常更像一些电子设备或者机器人,它们有自己被设定好的行为,当你发出一个命令,就像在电视机上按下一个按钮,它自己会进行一系列的动作,它的状态(属性)会在这个过程中发生种种变化,但是当你有很多电视机的时候,你可能就需要有一个电视机管理者的角色(人或者设备)对这些电视机进行管理,但是播放电视的永远是电视机而不是其管理者。
领域模型的3种类别:
装b的domain对象,其实它只是一个数据对象,不承担任何职责,这种是失血模型;
sb的domain对象,只会埋头做自己会干的活,负责所有不依赖外部的业务逻辑,这种是贫血模型;
nb的domain对象,只要告诉它你要什么,剩下的一切它都会搞定,包括和外部协作,你什么都不用操心,这是充血模型。