面向对象设计的11条原则(转)

本文介绍了依赖管理和设计原则,包括SRP(单一职责原则)、OCP(开放封闭原则)、LSP(Liskov替换原则)、DIP(依赖倒置原则)、ISP(接口隔离原则),以及程序集设计的REP(重用发布等价原则)、CCP(共同封闭原则)、CRP(复合重用原则)、ADP(无环依赖原则)、SDP(稳定依赖原则)、SAP(稳定抽象原则)。良好的依赖管理有助于提高代码的灵活性、健壮性和重用性。
      以下介绍的原则,侧重于依赖管理,淡化了抽象与建模,并不是说OO在抽象方面不够强大,或者说OO不适合大型建模。
      依赖管理是我们每个人都要面对的问题,每当我们在屏幕面前打开那些彼此纠结又令人作呕的代码,我们就会遭受不良的依赖管理所带来的恶果。不良的依赖管理导致代码难以改变,易被破坏,而且不可重用。实际上,在Bob大叔的著作《敏捷软件开发 原则、模式与实践》一书以及其相关书籍都谈论过很多不同的设计坏味道,而这些都与依赖管理有关。从另一方面来说,如果依赖经过了良性的管理,代码就可以保持灵活性、健壮性和重用性。所以依赖管理和这些相关原则是 程序员们渴求的让软件保持优良架构的基石。
      头五类设计是关于类的设计,介绍如下:

      ◆  SRP(Single Responsibility Principle)  单一职责原则:强调一个类只且只有一个被修改的理由;
      ◆  OCP(Open-Close Principle) 开放封闭原则:确保能够不修改原有的类就能扩展功能
      ◆  LSP(Liskov Substitution Principle) Liskov替换原则:派生类要与其基类自相容
      ◆  DIP(Dependency Inversion Principle) 依赖倒置原则:依赖于抽象而不是实现
      ◆  ISP(Interface Split Principle) 接口隔离原则:客户只需要关注他们要调用的接口
 
      另六个原则是关于程序集的设计,介绍如下:
      头三个原则包含程序集的内聚性设计,它会告诉我们该把什么划分到程序集中:
      ◆  REP(The Release Reuse Equivalency Principle)重用发布等价原则:重用的粒度就是发布的粒度。  
      ◆  CCP(The Common Closure Principle)共同封闭原则:程序集中的类对同一种类型的变化应该是共同封闭的
      ◆  CRP(Composite Reuse Principle)复合重用原则:一个程序集中的类应该是共同重用的
      最后三项包含程序集中耦合性原则,并且论述了评判系统中程序集结构优良与否的评价标准
      ◆  ADP(Acyclic Dependencies Principle)无环依赖原则:在程序集的依赖关系中不允许存在环
      ◆  SDP(Stable Dependencies Principle)稳定依赖原则:朝着稳定的方向进行依赖
      ◆  SAP(Stable Abstractions Principle)稳定抽象原则:程序集的抽象程序应该与其稳定程序一致

      看来还要加强学习啊@@@
     

转载于:https://www.cnblogs.com/ision/archive/2008/12/18/1357654.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值