<设计模式之禅>读书笔记—六大设计原则
这是第三遍看<设计模式之禅>了,尽管已经看了两遍仍然不能很好的在实际开发中很好的运用设计原则和设计模块.甚至对于几个易混淆的设计模式,不能很好的区分每个设计模式的职能.所以这次决定用简易的笔记来记录下.便于温习.
书评:这真的是本很好的讲论设计模式的书.通俗易懂.设计模式的重要性只有我们在实际开发过程中才能明白它是多么的重要!只是设计模式较多可能我们在开发过程中无法取舍最合适的设计模式.所以我认为,多读几遍,多读几年都是值得的.
六大设计原则(SOLID,稳定的)
-
Single Responsibility Principle:单一职责原则
-
Open Closed Principle:开闭原则
-
Liskov Substitution Principle:里氏替换原则
-
Law of Demeter:迪米特法则
-
Interface Segregation Principle:接口隔离
-
Dependence Inversion Principle:依赖倒置原则
单一职责原则
定义:应该有,且仅有一个原因引起类的变更
接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化.
里氏替换原则
定义:所有引用基类的地方必须能透明的使用其子类的对象.(只要父类能出现的地方子类就可以出现,而且替换为子类不会产生任何错误)
依赖倒置原则(面向接口编程)
-
模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的
-
接口或抽象类不依赖于实现类
-
实现类依赖接口或抽象类
接口隔离原则
定义:接口尽量细化,同时接口中的方法尽量少.
与接口单一职责原则的异同:单一职责要求类和接口职责单子,注重的是职责,是业务逻辑上的划分,而接口隔离原则要求接口的方法尽量少.例如一个接口的职责可能包含10个方法,这10个方法都放在一个接口中,并提供給多个模块访问,各个模块按照规定的权限来访问,在系统外通过文档约束不使用的方法不要访问,按照单一职责原则是允许的,按照接口隔离原则是不允许的.
迪米特法则
定义:一个类应该对自己需要耦合或调用的类知道得最少
开闭原则
定义:开发扩展,闭合修改.