JAVA设计模式的7个原则

1、设计模式的目的:
1)代码重用性(相同功能的代码只需要编写一次);
2)可读性;
3)可扩展性(增加新的功能方便);
4)可靠性(新增功能对原功能没有影响);
5)使程序呈现高内聚,低耦合。
2、设计模式的7大原则:
1)单一职责原则;
降低类的复杂度,一个类只负责一项职能;
提高类的可读性;
提高类的可扩展性,降低修改带来的风险;
2)接口隔离原则;
一个类对另一个类的依赖应建立在最小接口上;
JAVA设计模式的7个原则_第1张图片
A通过接口Interface1依赖B,但是B实现接口实现了接口中的所有方法,而A只需要用到接口的1、2、3方法,4、5方法用不到,这就是依赖的接口不是最小的接口,C的情形同A,接口隔离原则就需要对接口Interface1进行拆分,拆分结果如下图所示:
JAVA设计模式的7个原则_第2张图片
3)依赖倒置原则;
相对于细节的多变性,抽象更稳定,抽象不应该依赖细节,相反细节应该依赖抽象,依赖 倒置的中心思想就是面向接口编程。
依赖关系的三种传递方式:
接口传递
构造方式传递
setter方法传递
4)开闭原则;
开闭原则是编程中最基础、最重要的原则。
核心是:一个软件如类、方法、函数应该对扩展开放(服务提供方)、对修改关闭(服务使用方);当需求发生改变时,只需要对服务方进行扩展、而使用方不需要修改。
5)里氏替换原则;
里氏替换原则的核心是:子类尽量不要重写父类的方法。
继承实际上增加了类之间的耦合关系,里氏替换原则告诉我们,应该尽量用依赖、聚合、组合来解决问题。
6)迪米特法则;
又叫最少知道原则,对自己依赖的类的信息知道的越少越好。
迪米特法则还有个更简单的定义:只与直接朋友进行通信。
直接朋友:每个对象都会与其他对象有耦合关系,只要有耦合关系,我们都称之为是朋友关系;耦合关系包括:组合、聚合、依赖。出现在方法参数、方法返回值、成员变量中的类称之为朋友关系,出现在局部变量中成为非朋友关系。根据迪米特法则,我们最好不要在局部变量中使用陌生的类。
7)合成复用原则。
合成服用的核心思想:类之间的耦合关系尽量使用合成或者聚合的方式而不是使用继承的方式来实现。
3、总结–设计模式的核心思想
1)将应用可能发生变化的东西独立出来,不要和那些不会发生变化的东西混合在一起;
2)强调面向接口编程而不是面向应用编程;
3)为实现类之间的松耦合而努力。

你可能感兴趣的:(设计模式)