设计模式-7大原则
http://c.biancheng.net/view/1317.html
1、单一职责原则【SINGLE RESPONSIBILITY PRINCIPLE】:一个类负责一项职责.
2、里氏替换原则【LISKOV SUBSTITUTION PRINCIPLE】:继承与派生的规则.
- 1.子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
- 2.子类中可以增加自己特有的方法。
- 3.当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
- 4.当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。
一句话总结:尽量不要重写父类的已经实现了的方法,可以用接口等其他方法绕过
3、依赖倒置原则【DEPENDENCE INVERSION PRINCIPLE】:
高层模块不应该依赖低层模块,二者都应该依赖其抽象;
抽象不应该依赖细节;
细节应该依赖抽象。
即针对接口编程,不要针对实现编程.
4、接口隔离原则【INTERFACE SEGREGATION PRINCIPLE】:建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少.
5、迪米特法则【LOW OF DEMETER】:低耦合,高内聚.
通俗的来讲,就是一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类来说,无论逻辑多么复杂,都尽量地的将逻辑封装在类的内部,对外除了提供的public方法,不对外泄漏任何信息。
6、开闭原则【OPEN CLOSE PRINCIPLE】:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭.
7、组合/聚合复用原则【Composition/Aggregation Reuse Principle(CARP) 】:尽量使用组合和聚合少使用继承的关系来达到复用的原则.