阅读源码中遇到的设计模式,先遇先理解。关于设计模式的记忆,借鉴他人总结的记忆:5+7= 11;5个创建型,7个结构型,11个行为型。分别是:1、抽工单建原;2、桥代理组装适配器,享元回家装饰外观。
创建型模式:对对象实例化过程的抽象,通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息;
结构型模式:主要用于如何组合已有的类和对象以获得更大的机构,它采用集成机制来组合接口或实现,以提供统一的外部视图或新的功能;
行为型模式:从大量实际行动中概括出来作为行为的理论抽象、基本框架和标准。该类模式主要用于对象之间的职责及其提供的服务的分配,它不仅描述对象或类的模式,还描述他妈之间的通信模式。
七、策略模式
摘要:在深入理解Spring声明式事务时其框架涉及到该种模式的应用。策略模式的目的就是解决繁琐的ifelse判断,如下: 测试: 测试结果: 在测试案例中,使用Context类将不同运算全部创建了一遍,实际还是有使用者控制具体操作——就是使用者进行了ifelse的选择,如果有更多操作代码就得更改代码,并没
阅读全文
posted @
2024-03-15 13:05
池塘里洗澡的鸭子
阅读(24)
推荐(0)
六、命令设计模式
摘要:命令模式(Command Pattern)是对命令的封装,每个命令都是一个操作:请求放发出请求要求执行一个操作;接收方收到侵权,并执行操作。命令模式解耦了请求放和接收方,请求方只需请求执行命令,不用关心命令怎样被介绍、怎么样被操作即是否被执行等。命令模式属于行为型设计模式。 命令模式通过在请求和实现
阅读全文
posted @
2021-07-16 16:16
池塘里洗澡的鸭子
阅读(64)
推荐(0)
五、模板方法设计模式及在Spring中的应用
摘要:如果字面理解比较抽象的话,那以生活中简单的行为为例:天热了,到了晚上妈妈都要将今天没有吃完的饭菜放入冰箱。将饭菜放入冰箱就是一个典型的模板设计:1、将冰箱门打开;2将饭菜放入冰箱;3、关闭冰箱。类推,任何需要放入冰箱的事物都需按如上的顺序进行操作,比如西瓜、面膜等。 敲重点:不变的是顺序;变化的可以
阅读全文
posted @
2021-06-23 16:33
池塘里洗澡的鸭子
阅读(661)
推荐(0)
四、观察者模式
摘要:观察者模式又可称为发布-订阅(Publish/Subscribe)模式(还有其他很多名称)。其定义一种一对多的依赖关系:一个主题对象可被多个观察者对象同时监听,是的每当主题对象状态变化时,所有依赖他的对象都会得到通知并被自动更新。 实际生活中很多类似的应用场景。比如练习英语口语时,可能需要经常听一些
阅读全文
posted @
2021-05-30 04:00
池塘里洗澡的鸭子
阅读(81)
推荐(0)
三、责任链模式
摘要:在日常生活中,责任链模式应用场景多见。比如在公司财务报销,从提请报销起到报销款打款落地终整个流程中,可能要经过不同人的审核,审批、签字、盖章等一系列的节点。实际过程中,提请报销者无需了解整个报销流程,只关注报销结果——钱是否到账。而不是提请报销者,每个节点提个申请。 责任链模式即请求发起处理请求,不
阅读全文
posted @
2021-03-09 06:18
池塘里洗澡的鸭子
阅读(206)
推荐(0)
二、代理模式
摘要:前面装饰器模式提过代理模式的本质,就是本来自己要做的事,由于某些原因取舍之后找其他能力者干,比如代考(ff)。在实际生成中为控制对初始对象的访问,需提供一个代理或者占位对象。 代理模式UML图如下: 以上UML图是否似曾相识?对的,与装饰器模式好像是双胞胎,只是名字不同。个人理解装饰器模式是特殊的静
阅读全文
posted @
2021-03-08 20:47
池塘里洗澡的鸭子
阅读(83)
推荐(0)
一、装饰器模式
摘要:装饰器模式的定义之类的在此不赘述,网上资源比较多。 装饰器模式打个不恰当(ff)的比喻,就是高考,你可以找人代考(警察叔叔过来找你了)也可以在高考前努力提高自己的十八般武艺自信满满地进考点。如果你选择找人代考就是代理模式,如果你选择提高自身的能力就是装饰器模式的思维:强调的是自身功能的扩展。 UML
阅读全文
posted @
2021-03-07 20:48
池塘里洗澡的鸭子
阅读(53)
推荐(0)