作者H45 (!H45)
看板OOAD
标题[资料] Oo Design Principles
时间Thu Jul 19 23:43:35 2007
此连结:
http://c2.com/cgi/wiki?OoDesignPrinciples
看它的出处大部分都是:Robert C. Martin, Engineering Notebook
以下将 instance 翻译为「实体」
Liskov Substitution Principle (LSP):
一个实体应该能取代任何父类别的实体
Open Closed Principle (OCP):
一个能够再利用的类别应该开放大家来延伸出其他类别,但是禁止大家修改原本的类别
Dependency Inversion Principle (DIP):
一个实作高层的方针的模组不应该依赖於实作低层的方针的模组,我们宁可让它们依赖於
定义完善的介面
Interface Segregation Principle (ISP):
一个类别所依存的介面应该要尽可能的最少
Reuse Release Equivalence Principle (REP):
释放出去的套件就是那些可以再利用的套件
Common Closure Principle (CCP):
一个套件内所有的类别应该要禁止改变於相同类型的需求变更,如果有一个需求变更会影
响到这个套件的话,那麽套件中的所有类别都会受到影响
Common Reuse Principle (CRP): 套件中的每个类别要一起具有再利用性
Acyclic Dependencies Principle (ADP): 套件与套件之间不应该有循环的依存关系
下面还有一些物件导向的原则,但是我愈来愈看不懂了
值得注意的是其中有些原则受到质疑,譬如说:REP, CCP
可以参考看看
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.211.211.53