博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

面向对象设计原则-单一职责原则

Posted on 2007-07-18 13:21  我是程序员  阅读(256)  评论(0编辑  收藏  举报
定义
  • 就一个类而言,应该仅有一个引起它变化的原因
推论一(基本)
  • 就一个类而言,应该包含一个最基本的、不可改变的核心实现,这个核心实现就是这个类存在的核心价值。
  • 核心价值:区别于其它类的基本特征,或者类应该实现的基本功能
推论一(扩展)
  • 当改变触及到一个类的核心实现时,要替换而不是修改这个类
推论二
  • 就一个类而言,应该只做它能够决定的事情,把不能够决定的事情留给使用者来做
推论三
  • 就一个类而言
  • 把它能够决定的事情纳入核心实现。
  • 把不能够独自决定的事情,选择最常见的决定做为默认扩展。
  • 移除完全不能够决定的事情。
看单一职责原则时的一点感想。这些理论书看起来很平淡,不过越想约有意思。