DDD说实体的功能应该是该实体的一部分,这导致具有许多功能的类在不同的上下文中使用,打破单一责任规则。例如,如果我是一个实体:一个“Person”,我想要纳税,那么"Person"会获得payTaxes功能,现在,如果我想和儿子一起玩,那么"Person"会得到playWithSon函数,Person类将具有许多在上下文方面彼此无关的函数。
DCI代表数据,上下文,交互,这个想法是应用程序可以在数据(软件是什么)和功能(软件做什么)之间分开,DCI表示该模型应该是贫血的,但您可以将角色应用到您的模型,从而为你的模型(可切换)这个角色具有的功能。如果一个Person类只有基本属性,将TaxPayerRole这个角色作为构造函数的入参来接受,并为在某些上下文使用场景中提供TaxPayerRole的功能(用例);也可以将DadRole作为入参接受。
网友回复
DLNA与UPnP的区别和不同?
苏超自建抢票app,通过先预约再抽签化解高并发抢票?
python如何让给电脑在局域网中伪装成电视接收手机的投屏图片视频播放?
如何结合python+js如何自己的视频编码与加密播放直播?
python如何在电脑上通过局域网将本地视频或m3u8视频投屏电视播放?
腾讯视频爱奇艺优酷vip电影电视剧视频如何通过python绕过vip收费直接观看?
有没有可免费观看全球电视台直播m3u8地址url的合集?
有没有实现观影自由的免vip影视苹果 CMS V10 API的可用url?
python如何实时检测电脑usb插入检测报警?
如何判断真人操作的鼠标移动直线轨迹与机器操作的轨迹?