九种不够面向对象的对象 - 阅读摘要
程序员 2009/04期
- 低内聚对象
- 贫血对象 Anemic Object
不符合OCP原则,考虑将相关对象移到对象里面 - 管理者对象 Manager Object
创建或从系统中找出相关的领域对象,尽量将职责划分到多个领域对象中去 - 储柜对象 Cabinet Object
所谓橱柜对象,是指它的所有数据都是可以通过setter动态设置的。应该在构造函数中传入必要的参数,只为那些可以动态修改的参数保留setter方法 - 多管闲事的对象 Meddling Object
违反了单一职责原则(SRP),使用委托隔离无关的实现(???) - 工具类 Utility Class
工具类的典型特征是里面的函数都是静态的,之间没有必然的联系,本质上是非内聚的。
- 贫血对象 Anemic Object
- 高耦合对象
- 原生类型依赖对象 Primitive Obsession Object
不要依赖于自己都会忘记的东西,比如日期字符串的格式, 使用Date封装 - 链式依赖对象 Message Chain Object
违反了迪米特法则(最少知识原则) - 假对象 Dummy Object
同类的东西可以考虑用工厂实现 - 积木对象 Bricks Object
当对象的创建需要多个步骤时,进行封装,封装的步骤经常采用Builder模式
- 原生类型依赖对象 Primitive Obsession Object