设计模式系列:设计模式总结

设计模式为我们设计软件、编写代码提供了理论依据,可以帮助我们提升代码的可读性、可扩展性,降低维护成本,解决复杂的业务问题。

学习设计模式需要联系生活,联系场景。下面我们结合生活中的场景使用简短的语言总结一下各个设计模式的特点。

序号

设计模式

总结

目的

生活中的场景

源码中的应用

1工厂模式产品标准化、生产更高效封装创建细节富士康代工厂LoggerFactory、Calendar
2单例模式一个类仅有一个实例,并且提供一个全局访问点保证全局唯一公司CEOBeanFactory、Runtime
3原型模式通过拷贝原型创建新的对象,分身术高效创建对象克隆羊ArrayList、PrototypeBean
4建造者模式用来创建复杂的复合对象,低配中配高配自己决定开放个性配置步骤装配电脑StringBuilder、BeanDefinitionBuilder
5代理模式为其他对象提供一种代理以控制对这个对象的访问增强职责代理律师ProxyFactoryBean、JdkDynamicAopProxy、CglibAopProxy
6门面模式对外提供统一出口统一访问入口公司前台JdbcUtils、RequestFacade
7装饰器模式为对象添加新功能灵活扩展、同宗同源煎饼加鸡蛋InputStream、BufferedReader
8适配器模式接口转换,将原来不兼容的两个类融合在一起兼容转换电源适配器AdvisorAdapter、HandlerAdapter
9桥接模式将两个能够独立变化的部分分离开来、约定优于配置不允许用继承珠港澳大桥DriverManager
10享元模式使用对象池来减少重复对象的创建,优化资源配置,减少重复浪费共享资源池全国社保联网String、Integer、ObjectPool
11组合模式将整体与局部进行递归组合,让客户端能够以一种的方式对其进行处理统一整体和个体组织架构树HashMap、SqlNode
12委派模式允许对象组合实现与继承相同的代码重用,负责任务的调用和分配,这个需求很简单,怎么实现我不管只对结果负责授权委托书ClassLoader
13模板方法模式先定框架,再补充细节,流程标准化,细节可微调逻辑复用把大象装冰箱JdbcTemplate
14策略模式封装不同的算法,用户自己选择算法把选择权交给用户选择支付方式Comparator
15责任链模式拦截的类都实现统一接口,每个接收者都包含对下一个接收者的引用。将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。学生发作业本、不是自己的就往后传。解耦处理逻辑踢皮球FilterChain、Pipeline
16命令模式将请求封装成命令,并记录下来,能够撤销与重做,运筹帷幄之中,决胜千里之外解耦请求和处理电视遥控器Runnable、TestCase
17状态模式根据不同的状态做出不同的行为、状态驱动行为,行为决定状态绑定状态和行为订单状态跟踪LifeCycle
18观察者模式状态发生改变时通知观察者,到点就通知我解耦观察者与被观察者学校打铃ContextLoaderListener
19中介模式将对象之间的通信关联关系封装到一个中介类中单独处理,从而使其耦合松散,联系方式我给你,其他自己搞定统一管理网状资源微信朋友圈Timer
20迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素统一对集合的访问方式进站检票Iterator
21访问者模式稳定数据结构,定义新的操作行为,横看成岭侧成峰,远近高低各不同解耦数据结构和数据操作KPI考核FileVisitor
22备忘录模式保存对象的状态,在需要时进行恢复备份、后悔机制草稿箱StateManageableMessageContext
23解释器模式给定一个语言,定义它的语法表示,并定义一个解释器,这个解释器使用该标识来解释语言中的句子。我想说鸟语,一切解释权都归我实现特定语法解析摩斯密码Pattern、ExpressionParser

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风雨编码路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值