设计模式主要分为6大原则,下面我详细讲解设计模式六大原则@mikechen
1.单一职责原则
对于类来说,一个类应该只负责一项职责,这就是单一职责原则,非常清晰。
单一职责原则的核心就是控制类的粒度大小、将对象解耦、提高其内聚性。
通常情况下, 我们应当遵守单一职责原则 。
原因主要分为如下3点:
- 单一职责原则可以降低类的复杂度,一个类仅负责一项职责,其逻辑肯定要比负责多项职责简单;
- 提高了代码的可读性;
- 提高系统的可维护性。
2.接口隔离原则
接口隔离原则要求程序员尽量将臃肿庞大的接口拆分成更小的和更具体的接口,让接口中只包含客户感兴趣的方法。
客户端不应该依赖它不需要的接 口,即一个类对另一个类的依赖,应该建立在最小的接口上。
接口隔离原则和单一职责都是为了提高类的内聚性、降低它们之间的耦合性,体现了封装的思想。
但两者是不同的,主要就是2点:
- 单一职责原则主要是约束类,它针对的是程序中的实现和细节;
- 接口隔离原则主要约束接口,主要针对抽象和程序整体框架的构建。
3.依赖倒置原则
由于在软件设计中细节具有多变性,而抽象层则相对稳定,因此以抽象为基础搭建起来的架构要比以细节为基础搭建起来的架构要稳定得多。
备注:这里的抽象指的是接口或者抽象类,而细节是指具体的实现类。
所以,依赖倒置原则的核心就是要我们面向接口或者抽象编程,而不是面向细节编程(实现类编程),这样程序可维护性高很多啊。
依赖倒置原则主要就是2点:
1)高层模块不应该依赖底层模块,二者都应该依赖其抽象;
2)抽象不应该依赖细节,细节应该依赖抽象。
4.里氏替换原则
里氏替换原则告诉我们,当使用继承时候,类 B 继承类 A 时,除添加新的方法完成新增功能外,尽量不要修改父类方法预期的行为。
里氏替换原则的重点在不影响原功能,而不是不覆盖原方法。
子类尽量不要重写父类的方法,这就是里氏替换原则的核心精髓。
5.开闭原则
开闭原则是编程中最基础、最重要的设计原则。
比如:软件中的对象(类、模块、函数等)应该对于扩展是开放的,对于修改是封闭的。
当软件需要变化时,尽量 通过扩展 软件实体的行为来实现变化,而 不是通过修改 已 有的代码来实现变化,这就是开闭原则的核心精髓。
6.迪米特法则
迪米特法则,就是一个对象应该对其他对象保持最少的了解,又叫最少知道原则,即一个类对自己依赖的类知道越少越好。
迪米特法则在于降低类之间的耦合,每个类尽量减少对其他类的依赖,尽量减少对外暴露的方法,使得功能模块独立且低耦合。
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》