本文是Spring系列文章的一部分。其他相关文章见
本文整理Spring的相关设计模式。
前言
提起Spring首先要知道Spring是基于工厂模式对Bean进行创建的,但其实Spring还用到了责任链模式,日志部分用到了门面模式。
责任链这个是Spring还是SpringMVC我有点忘了,等后边整理源码的时候我会补充。
一、工厂模式
优点
- 遵循开闭原则
- 对客户端隐藏对象的创建细节
- 遵循单一职责
二、责任链模式
这个我面试的时候让我手写来着,这部分回头我好好整理一下,这里就是个大纲。
责任链模式还是很重要的,Netty实现也是用了责任链模式。
三、门面模式
主要是为了屏蔽实现细节。
例如日志框架的实现有JUL、log4j、logback、log4j2。如果多框架继承或者更换日志框架就可能有问题,那么就可以使用门面模式屏蔽实现细节。
感觉不是特别复杂,后边看情况是不是展开讲。
四、模板方法模式
模板方法模式,在一个方法中定义算法骨架,而具体实现则留给子类。使得子类在不改变算法结构的情况下,重新定义算法中的某些步骤。
五、委派模式
委派模式(DelegatePattern)又叫委托模式,是一种面向对象的设计模式,允许对象组合实现与继承相同的代码重用。他的基本作用就是负责任务的调用和分配任务,是一种特殊的静态代理,可以理解为全权代理,但是代理模式注重过程,而委派模式注重结果。委派模式属于行为型模式,不属于GOF23种设计模式中。1
总结
原文链接:https://blog.csdn.net/xiaowanzi_zj/article/details/118281544 ↩︎