从今天开始系统的看下spring里面的一些源码了,这个之前先来了解一下主要的设计模式,为系统学习spring源码打下基础。现在出发~~
1.开闭原则:
一个软件实体如类,方法和函数应该对其扩展开发,对其修改关闭。用抽象构建框架,用实现扩展细节。
优点:提高软件系统的可重用性可维护性。
2.依赖倒置原则:
指在代码接口中,高层模块不能依赖底层模块,二者应该依赖其抽象。抽象不依赖细节,细节应该依赖细节。
优点:减少类和类之间的耦合性,提高系统的稳定性,并降低系统修改所带来的风险。
3.单一职责原则:
每个类只处理自己相关的逻辑,如果修改一处逻辑引发另一处的逻辑也需要修改这种做法是错误的,违背了单一职责原则。
优点:将两个业务逻辑用连个类来实现,进行解耦操作。后期需求变更维护互不影响。降低复杂度,提高类的可读性,提高系统的可维护性。总的来说就是一个类、接口或方法只负责一项职责。
4.接口隔离原则
指用多个专门的接口,而不是使用单一的总接口,其实现不应该实现他不需要的接口。这个原则知道指导我们注意以下几点:
(1)一个类对另一个的依赖应该建立在最先小接口之上;
(2)建立单一接口,不要建立庞大臃肿的接口;
(3)尽量将接口细化,接口的方法减少(但不是越少越好,一定要适度)
5.迪米特原则
一个对象应该对其他对象保持最少了解,尽量减少类与类之间的耦合。
6.里氏替换原则
如果对每一个类型为T1的对象o1,都有类型为T2的对象o2,使得T1定义的所有程序中将o1替换成o2时,程序P的行为没有发生变化,那么T2是类型T1的子类型。
(有点像java中继承的特性!!!)
引申含义为:子类可以扩展父类的功能,但不能改变父类原有的功能。
(1)子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
(2)子类可以增加自己特有的方法。
(3)当子类的方法重载父类的方法时,方法的前置条件(既方法的输入\入参)要比父类方法的输入参数更宽松。
(4)当子类的方法实现父类的方法时(重写/重载或者抽象方法的实现),方法的后置条件(即方法的返回或出参)要比父类的更加严格或者一样。
优点:
(1)约束继承的泛滥,是开闭原则的一种体现
(2)加强程序的健壮性,同时变更时也可以做到非常好的兼容性。
7.合成复用原则
尽量使用组合或者聚合的方式实现业务逻辑,不要使用继承关系达到软件复用的目的。可以使系统更加灵活,降低类与类之间的耦合度。
本文详细介绍七大设计模式,包括开闭原则、依赖倒置原则、单一职责原则、接口隔离原则、迪米特原则、里氏替换原则及合成复用原则。探讨各原则的定义、优点及其在软件开发中的应用。
16万+

被折叠的 条评论
为什么被折叠?



