Java设计模式原则

Posted 曾规则

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java设计模式原则相关的知识,希望对你有一定的参考价值。

一、设计模式原则
1、单一原则

1)降低类的复杂度,一个类只负责一项职责
2)提高类的可读性,可维护性
3)降低变更引起的风险
4)通常情况下,我们应当遵守单一原则,只有逻辑足够简单,才可以在代码级反单一职责;只有类中方法数量足够少,可以在方法级别抱持单一职责原则

2、接口隔离原则

1)将接口细化,减少不必要的实现
2)类间的依赖关系应该建立在最小的接口上
3)客户端不应该依赖它不需要的接口

3、依赖倒转原则

1)高层模块不应该依赖底层模块,二者都应该依赖其抽象
2)抽象不应该依赖细节,细节应该依赖抽象
3)依赖倒转(倒置)的中心思想是面向接口编程
4)依赖倒转原则是基于这样的设计理念:相对于细节的多边性,抽象的东西要稳定得多。以抽象为基础搭建得框架比以细节为基础得框架要稳定得多。在Java中,抽象指的是接口或抽象类,细节就是具体的实现类。
5)使用接口或抽象类的目的是制定好规范,而不涉及具体的操作,把细节的任务交给他们的实现类去完成。

4、里氏替换原则

1)里氏替换原则通俗的来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。
2)继承实际上让两个类耦合性增强了,在适当的情况下,可以通过聚合、组合、依赖来解决问题。
3)里氏代换原则告诉我们,在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何错误和异常,反过来则不成立,如果一个软件实体使用的是一个子类对象的话,那么它不一定能够使用基类对象。
4)里氏代换原则是实现开闭原则的重要方式之一,由于使用基类对象的地方都可以使用子类对象,因此在程序中尽量使用基类类型来对对象进行定义,而在运行时再确定其子类类型,用子类对象来替换父类对象。

5、开闭原则

1)一个软件如类、模块、函数应该对扩展开放,对修改关闭。用抽象构建框架,用实现扩展细节。
2)当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。
3)编程中遵循其他原则,以及使用设计模式的目的就是遵循开闭原则。

6、迪米特法则

1)一个对象应该对其他对象保持最少的了解。
2)类与类关系越密切,耦合度越大。迪米特法则的核心是降低之间的耦合。
3)迪米特法则又叫最少知道原则,即一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部。对外除了提供public方法,不对外泄露任何信息。
4)迪米特法则还有更简单的定义:只与直接的朋友通信。
    直接的朋友:每个对象都会与其他对象有耦合关系,只要两个对象之间有耦合关系,我们就说这两个对象之间是朋友关系。耦合的方式很多依赖、关联、组合(is a)、聚合(has a)等。其中,我们称出现成员变量,方法参数,方法返回值中的类为直接朋友,而出现在局部变量中的类不是直接的朋友。也就是说陌生的类最好不要以局部变量的形式出现在类的内部。

核心:松耦合设计

以上是关于Java设计模式原则的主要内容,如果未能解决你的问题,请参考以下文章

6大设计原则之开闭原则

Java方法的介绍

java设计原则

浅谈Java六大设计原则

java设计模式1,单一职责原则

Java 设计模式原则