![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
文章平均质量分 68
提到设计模式,面试常问:你在项目中用到过哪些设计模式呢?我就以设计模式在项目中的应用或在开源框架中的应用展开阐述
wangchenggong1988
这个作者很懒,什么都没留下…
展开
-
MyBatis的设计模式总结
单例模式ErrorContext:使用ThreadLocal实现线程内的单例(虽然定义在executor包, 但是服务于日志包)io包下的VFS:使用静态内部类实现的单例模式工厂模式:反射包中的ObjectWrapperFactory、ReflectorFactory等绑定包中的MapperProxyFactory:/** * Mapper代理类工厂,用于为某个Mapper接口生成代理类 * 存了Mapper接口的Class对象,提供了newInstance静态方法 * @a.原创 2021-02-10 18:45:39 · 82 阅读 · 1 评论 -
设计模式在项目中是如何用的?职责链模式篇(Chain Of Responsibility Design Pattern)
一、职责链模式是什么?有哪些应用场景?所谓模板方法模式,就是定义一个操作中的算法的骨架(这个将具体逻辑步骤汇总起来的方法就是所谓的模板方法),而将一些步骤延迟到子类中去实现模板方法模式是类的行为模式,它的应用场景是同一个接口的不同实现类存在公共代码,这样就可以用模板方法模式将不变部分进行实现、封装在模板类中,将可变部分作为抽象方法留给子类扩展,从而复用顶级逻辑的代码。二、职责链模式的实现模板方法模式的实现,关键代码是定义一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽原创 2021-01-26 12:03:29 · 179 阅读 · 2 评论 -
设计模式在项目中是如何用的?模板方法模式篇(Template Method Pattern)
模板方法模式是什么?有哪些应用场景?所谓策略模式,就是一个类的行为或其算法可以在运行时更改策略模式的应用场景是系统中存在【总分结构】,即对于同一个业务存在有相似的分支逻辑(实现),而区分它们的仅仅是业务类型的不同,这样就可以用策略模式从多种相似的算法中筛选出目标算法,从而避免了使用 if…else 所带来的复杂和难以维护。模板方法模式的实现策略模式的实现,关键代码是多个类实现同一个接口(Strategy接口),同时另有一个类持有该接口的所有实现类(持有Strategy所有实现类的Context原创 2020-09-28 06:56:13 · 486 阅读 · 0 评论 -
设计模式在项目中是如何用的?策略模式篇(Strategy Pattern)
策略模式是什么?有哪些应用场景?所谓策略模式,就是一个类的行为或其算法可以在运行时更改策略模式的应用场景是系统中存在【总分结构】,即对于同一个业务存在有相似的分支逻辑(实现),而区分它们的仅仅是业务类型的不同,这样就可以用策略模式从多种相似的算法中筛选出目标算法,从而避免了使用 if…else 所带来的复杂和难以维护。策略模式的实现策略模式的实现,关键代码是多个类实现同一个接口(Strategy接口),同时另有一个类持有该接口的所有实现类(持有Strategy所有实现类的Context类),这原创 2020-09-24 08:19:57 · 517 阅读 · 0 评论