前言

主要针对spring中最常用的几种设计模式做一个比较接地气的总结:

设计模式应用场景(特点)一句话归纳
代理模式1、两个参与角色:执行者、被代理人。2、对于被代理人来说,这件事情是一定要做的,但是我自己又不想做或者没有时间作,找代理。3、需要获取到被代理人的个人资料。办事要求人
工厂模式1、对调用者隐藏复杂的逻辑处理过程,调用者只关心执行结果。2、工厂要对结果负责,保证生产出符合规范的产品。只对结果负责,不要三无产品
单例模式1、保证从系统启动到系统终止,全过程只会产生一个实例。2、当我们在应用中遇到功能性冲突时,需要使用单例模式。保证独一无二
委派模式1、两个参与角色:委托人、被委托人。2、委托人和被委托人在权力上完全平等(即实现同一个接口)。3、委托人持有被委托人的引用。4、不关心过程,只关系结果。干活是你的(普通员工),功劳是我的(项目经理)
策略模式1、执行最终结果一样。2、执行过程和执行逻辑不一样。我行我素,只看结果。
原型模式1、首先有一个原型。2、数据内容相对,但对象实例不同(完全不同的2个内存地址)。拔一根猴毛,吹出千万个。
模板模式1、执行流程固定,但中间有些步骤有细微的差别。流程标准化,原料自己加。