疫情期间表现优异的企业均将数字化创新放在前列
|
延伸:在某些情况下,该方案并不合适,通常是由于耦合与内聚问题产生的,如:谁应该把对象A存入数据库?按照原则每个类都应该具有把自己持久化的能力。 5 纯虚构 为了保持良好的耦合和内聚,捏造业务上不存在的对象来承担职责。 问题:当你并不想违背高内聚和低耦合或者其他目标,但是基于专家模式所提供的方案又不合适时,哪些对象应该承担这一职责? 解决方案:对人为制造的类分配一组高内聚的职责,该类并不代表问题领域的概念--虚构的事物,用以支持高内聚、低耦合和复用。 优点:
相关原则和模式:
举例:计算商品总数量。根据专家模式计算商品总数量的职责也应该是分配给Order,照这样分配下去商品相关的还会有:总重量、总体积、总XX,这时Order的职责就会越来越多也可能会产生额外的耦合,通过纯虚构对象把这些职责分配出去能够得到更好的设计。
4 信息专家(or 专家) “信息”不单指数据。 问题:给对象分配职责的基本原则是什么? 解决方案:把职责分配给信息专家,它具有实现这个职责所必需的信息 优点:
相关模式或原则:
注意:和“关注点分离”一起使用使得对象进一步内聚,从而达到高内聚,也能降低耦合。
举例:获取所有买的商品总金额,Order和Goods是一对多的关系。 (编辑:四平站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
