You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在线商店类图的两种版本,哪种更符合内聚原则?

两个在线商店类图的内聚性对比

判断哪个版本更符合内聚原则,核心看类的职责是否集中在自身属性相关的行为上:

版本1分析

版本1围绕“顾客能做什么”设计,把查看订单、取消订单这类操作都放在Customer类中。但Customer的核心属性是用户信息(比如姓名、账号),订单操作本质是对订单数据的修改/查询,放在Customer类里会让它承担额外职责,导致类的职责分散,内聚性偏低。

版本2分析

版本2把订单相关方法(查看订单、取消订单等)定义在Order类中,Customer仅持有订单集合。这种设计更符合内聚原则:

  • Order类拥有订单的核心数据(比如订单状态、商品列表、金额),由它负责自身的操作,职责高度集中,满足功能内聚(所有服务围绕订单生命周期管理);
  • Customer专注于自身用户信息管理和订单列表的归属关系,职责清晰不越界。

结论

版本2的设计更符合内聚原则,每个类只负责和自身数据强相关的行为,职责单一且集中。

内容的提问来源于stack exchange,提问作者Ninorin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 15:56:02