用途:指导设计、评审和重构类,使每个类只实现一个抽象数据类型(ADT),接口呈现单一、内聚的抽象,所有方法服务于同一目的、处于同一抽象层级。
主要能力:识别并修正三类反模式——领域对象混入序列化(如 Employee.to_json)、业务逻辑混入持久化(如领域类中写 SQL)、按时间而非目的聚合的杂物类(如启动类里塞入数据库、Web、任务等无关初始化)。提供抽象层级自测、内聚类型(偶然、时间、功能,功能内聚最佳)、拆分时机、红旗信号、常见辩解与验证清单。
使用方式:设计新类、评审现有类、重构或设计 API 时应用。对每个类自问:能否一句话说明它代表的抽象;所有方法是否朝同一目的;是否处于同一抽象层级;方法是否按目的相关。若答案不一致,则拆分或澄清抽象。典型做法是把序列化抽为独立 Serializer,把持久化抽为 Repository,把通知抽为 Notifier,让原类只做高层编排。
适用场景:面向对象设计、代码评审、重构、API 设计,以及需要提升可维护性与可理解性的项目。
限制:资料未提供具体安装命令、运行环境、收费或平台信息;内容为设计原则与示例,不构成强制规范,实际拆分需结合项目上下文判断。