Java教程

设计模式总结

本文主要是介绍设计模式总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

23种设计模式总结

分类设计模式简述一句话归纳目的生活案例开发场景主要角色源码应用
创建型设计模式(创建对象)工厂模式 Factory不同条件下创建不同实例产品标准化封装产品细节实体工厂版本切换、库切换工厂类、产品类Calendar、Connection
单例模式 Singleton保证一个类仅有一个实例,并且提供一个全局访问点世上唯一保证独一无二CEO配置、唯一对象单例类Runtime、LogManager
原型模式 Prototype通过拷贝原型创建新的对象拔一根猴毛,吹出千万个高效创建对象克隆日报周报实现CloneArrayList、Date
结构型设计模式(类和对象的组合)建造者模式 Buider用来创建复杂的复合对象高配中配和低配,想选哪配就哪配开放个性配置步骤选配大量构造器参数指挥者、建造者、产品StringBuilder
代理模式 Proxy为其他对象提供一种代理以控制这个对象的访问没有资源没有时间,得找别人来帮忙增强职责房产中介RPC、缓存、监控、日志、数据源真实对象、代理对象AOP、MapperProxy
外观模式 Facade对外提供一个统一的接口用来访问子系统打开一扇门,通向全世界统一访问入口前台对外API外观类、子系统工具类
装饰器模式 Decorator为对象添加新功能如虎添翼灵活扩展、本身不变煎饼参数验证、日志记录构件类、装饰类I/O
享元模式 Flyweight使用对象池来减少重复对象的创建优化资源配置,减少重复浪费共享资源池出租车资源共享池享元类、非享元类、享元工厂常量池、线程池
适配器模式 Adapter将不兼容接口转化为兼容接口万能充电器兼容转换电源转接头兼容版本、接口一对多接入适配者、适配器AOP的Advice
桥接模式 Bridege将两个能独立变化的部分分离开来约定优于配置不允许用继承支付渠道和支付方式具体类、扩展类JDBC Driver
行为型设计模式(对象之间的通信)模板模式 Template定义一套流程模板,根据需要实现模板中的操作流程全部标准化,需要微调请覆盖逻辑复用论文模板固定流程的操作抽象模板类、具体实现类HttpServlet、BaseExecutor
策略模式 Strategy封装不同的算法,算法之间能相互替换条条大路通罗马,具体哪条你来定把选择权交给用户选择支付方式容错恢复具体策略类、环境类Comparator、Resource
责任链模式 Chain of Responsibility拦截的类实现统一接口,每个接收者都包含对下一个接收者的引用。将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理为止。各人自扫门前雪,莫管他人瓦上霜解耦处理逻辑踢皮球审核流、权限控制具体处理者Filter
迭代器模式 Iterator提供一种方法顺序访问一个聚合对象中的各个元素流水线上坐一天,每个包裹扫一遍统一对集合的访问方式逐个检票进站列表信息迭代聚合类。迭代器类Iterator
命令模式 Command将请求封装成命令,并记录下来,能够撤销与重做运筹帷幄之中,决胜千里之外解耦请求和处理遥控器请求-响应模式请求类、接收类、命令类Runnable
状态模式 State根据不同的状态做出不同的行为状态驱动行为,行为决定状态绑定状态和行为订单状态跟踪多线程状态转换环境类、状态类Spring Statemachine
备忘录模式 Memento保存对象的状态,在需要时进行恢复失足不成千古恨,想重来时就重来备份、后悔机制草稿箱回滚、撤销发起人、备忘录、管理者Spring SpringManageableMessageContext
中介者模式 Mediator将对象之间的通信关联关系封装到一个中介类中单独处理,从而使其耦合松散联系方式我给你,怎么搞定我不管统一管理网状资源朋友圈交流平台、风控中心中介者类,同事类Timer
解释器模式 Interpreter给定一个语言,定义它的语法表示,并定义一个解释器,这个解释器使用该标识来解释语言中的句子我想说“方言”,一切解释权都归我实现特定语法解析摩斯密码读卡器、日志分析、数据计算非终结符表达式、终结符表达式、环境类Pattern、ExpressionParser
观察者模式 Observer状态发生改变时通知观察者,一对多的关系到点就通知我解耦观察者与被观察者闹钟通知机制、发布-订阅主题类、观察者类Obserservable Observer
访问者模式 Visitor稳定数据结构,定义新的操作行为横看成岭侧成峰,远近高低各不同解耦数据结构和数据操作KPI考核商品不同居价格不同折扣计算访问者、元素类、对象结构类Files FileVisitor
这篇关于设计模式总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!