面向对象设计原则 (快速记忆11个原则)

(1)单一责任原则(Single Responsily Pinciple, SRP).
就个类而言, 应该仅有个引起它变化的原因。即,当需要修改某个类的时候原因有且只有一个,让一个类只做种类型责任。
(2)开放-封闭原则(Open & Close Principle, OCP).
软件实体(类、模块、函数等)应该是可以扩展的,即开放的:但是不可修改的,即封闭的。
(3)里氏替换原则(Liskov Substitution Principle, LSP).
子类型必须能够替换掉他们的基类型。即,在任何父类可以出现的地方,都可以用子类的实例来赋值给父类型的引用。当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有是一个(is-a) 关系。
(4)依赖倒置原则(Dependence Inversion Principle, DIP).
抽象不应该依赖于细节,细节应该依赖于抽象。即,高层模块不应该依赖于低层模块,二者都应该依赖于抽象。
(5)接口分离原则(Interface SegregationPinciple, ISP).
不应该强迫客户依赖于它们不用的方法。时在抽象级别不应该有对于细节的依赖。这样做的好接口属于客户,不属于它所在的类层次结构。于处就在F可以最大限度地应对可能的依赖于抽象,不要依赖于具体,
变化。


上述(1)~ (5)是面向对象方法中的五大原则。Robert C.Martin提出的面向对象设计原则还包括以下几个。
(6)重用发布等价原则(edlune Rou Euwa hnipe REP).
重用的村度就是发布的粒度。
(7)共同封闭原则(Comon Closure Piciple, CCP).
包中的所有类对于同类性质的变化应该是共同封闭的。个变化若对 一个包产生影响,则将对该包中的所有类产生影响,而对于其他的包不造成任何影响。
(8)共同重用原则(Common Reuse Principle, CRP).
一个包中的所有类应该是共同重用的。如果重用了包中的一个类,那么就要重用包中的所有类。
(9)无环依赖原则(Acyclic Dependencies Principle, ADP). 
在包的依赖关系图中不允许存在环,即包之间的结构必须是一个直接的五环图形。
(10)稳定依赖原则(Stable Dependencies Pincipnenn SDP). 
朝着稳定的方向进行依赖。
(11)稳定抽象原则(Stable Astactions Pincipiei, SAP).
包的抽象程度应该和其稳定程第一致。

你可能感兴趣的:(面向对象技术)