`
fauvism
  • 浏览: 13135 次
  • 性别: Icon_minigender_1
  • 来自: 火星
最近访客 更多访客>>
社区版块
存档分类
最新评论

面向对象设计原则 by Uncle Bob

    博客分类:
  • OO
阅读更多
原文:http://fauvism.iteye.com/blog/568610

类设计五大原则:
SRP 单一职责原则一个类应该有且仅有一个需要改变理由。
OCP 开闭原则你可以扩展一个类的行为而不用修改它。
LSP 里氏替换原则派生类必须可以替换它的基类。
DIP 依赖倒置原则依赖于抽象而不依赖具体实现。
ISP 接口分隔原则制作客户端特定的精细接口。

下面是六个关于包的原则。 这里的“包”指的是一个二进制可交付构件,就像java jar文件和dll文件,而不是java包和c++ namespace这样的命名空间。

前三个是关于包的内聚性的原则,这些原则告诉我们什么东西应该放在包中,什么东西不应该放在包中。

REP 发布和重用等价原则 重用的颗粒就是发布的颗粒。
CCP 普通闭包原则把需要一起改变的类打包在一起。
CRP 普通重用原则把一起使用的类打包在一起。

后三个是关于包间耦合性的原则, 讲述系统包结构评价标准、尺度。

ADP 非循环依赖原则包依赖图中一定不能存在环。
SDP 稳定的依赖原则依赖于稳定的方向。依赖的方向应该指向更稳定的包。
SAP 稳定的抽象原则抽象度随着稳定性增加而增加。越稳定的东西应该越抽象。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics