DDD说实体的功能应该是该实体的一部分,这导致具有许多功能的类在不同的上下文中使用,打破单一责任规则。例如,如果我是一个实体:一个“Person”,我想要纳税,那么"Person"会获得payTaxes功能,现在,如果我想和儿子一起玩,那么"Person"会得到playWithSon函数,Person类将具有许多在上下文方面彼此无关的函数。
DCI代表数据,上下文,交互,这个想法是应用程序可以在数据(软件是什么)和功能(软件做什么)之间分开,DCI表示该模型应该是贫血的,但您可以将角色应用到您的模型,从而为你的模型(可切换)这个角色具有的功能。如果一个Person类只有基本属性,将TaxPayerRole这个角色作为构造函数的入参来接受,并为在某些上下文使用场景中提供TaxPayerRole的功能(用例);也可以将DadRole作为入参接受。
网友回复
python如何实现torrent的服务端进行文件分发p2p下载?
如何在浏览器中录制摄像头和麦克风数据为mp4视频保存下载本地?
go如何编写一个类似docker的linux的虚拟容器?
python如何写一个bittorrent的种子下载客户端?
ai能通过看一个网页的交互过程视频自主模仿复制网页编写代码吗?
ai先写功能代码通过chrome mcp来进行测试功能最后ai美化页面这个流程能行吗?
vue在手机端上下拖拽元素的时候如何禁止父元素及body的滚动导致无法拖拽完成?
使用tailwindcss如何去掉响应式自适应?
有没有直接在浏览器中运行的离线linux系统?
nginx如何保留post或get数据进行url重定向?