七个设计原则:
1. 开闭原则
扩展开放,修改关闭。(最好记的原则)提高软件系统的可复用性和可维护性
2.依赖倒置原则
依赖接口编程,而不要依赖实现。(Controller层调用service层的时候)优点:减少耦合性
3.单一职责原则
一个类、方法、接口只负责一件职能。优点:降低系统的复杂性
4.里氏替换原则
子类可以替换父类,父类不能替换子类。所以写代码的时候不能改变父类方法的本意。
5.迪米特法则原则
一个对象应该对其他对象保持最少的了解。
这个经常忘记,举个例子吧。
有个美女,喜欢穿汉服。我想知道美女有多少汉服,我只能通过美女去了解,而不能直接去她家里看看有哪些汉服。
类图
[最少知道原则,HandSome和HanFu没有直接的关联]
伪代码
/**
* @author 康康的远方
* @date 2021/3/23
* 即帅哥要通过美女得知汉服的详情,而不能直接与汉服产生关联。美女才可以直接调用汉服的类,或者汉服作为美女的一个属性
* 迪米特法则:一个对象应该对其他对象保持最少的了解。
*/
public class TalkTest {
public static void main(String[] args) {
HandSome handSome = new HandSome();
Beauty beauty = new Beauty();
handSome.askBeauty(beauty);
}
}
6.接口隔离原则
不要声明不需要的方法,让别人做不需要的事情。即接口要细化,实现多个接口,不要把所有的方法放在一个接口里面。
己所不欲勿施于人。
举例:
美女喜欢运动,又喜欢汉服。汉服和运动应该拆分成两个接口,因为不能强迫所有人都喜欢这两件事情。
7.聚合复用原则
is用继承,has用接口,contain用组合