九种不够面向对象的对象 - 阅读摘要

程序员 2009/04期

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