通俗易懂的设计模式总结,带你彻底搞定设计模式。

七大设计原则

一句话归纳七大设计原则

设计原则一句话归纳目的
开闭原则对扩展开放,对修改关闭减少维护带来新的风险
依赖倒置原则高层不依赖低层更利于代码结构升级扩展
单一职责原则一个类只干一件事便于理解,提高代码可读性
接口隔离原则一个接口只干一件事功能解耦,高聚合,低耦合
迪米特法则不该知道的不要知道只和朋友交流,不和陌生人说话,减少代码臃肿
里氏替换原则子类重写方法功能,不应该影响父类方法防止继承泛滥
合成复用原则尽量使用组合实现代码复用,而不用继承降低代码耦合

GOF 23种设计模式

设计模式简介

GOF的设计模式是java基础知识和J2EE框架知识之间的一座隐性的“”。

设计模式分类

  • 创建型:定义创建对象时的规则。
    • 工厂方法模式
    • 抽象工厂模式
    • 建造者模式
    • 单例模式
    • 原型模式
  • 结构型:定义实现代码复用时的形式。
    • 适配器模式
    • 装饰器模式
    • 代理模式
    • 门面模式
    • 组合模式
    • 享元模式
    • 桥接模式
  • 行为型:定义代码运行阶段的处理方式。
    • 策略模式
    • 观察者模式
    • 责任链模式
    • 解释器模式
    • 模板方法模式
    • 迭代器模式
    • 中介者模式
    • 命令模式
    • 访问者模式
    • 备忘录模式
    • 状态模式

一句话归纳23种设计原则

设计模式一句话归纳目的生活案例框架源码举例
工厂模式(Factory)产品标准化,生产更高效封装创建细节实体工厂LoggerFactory、 Calender
单例模式(Singleton)世上只有一个我保证独一无二CEOBeanFactory、Runtime
原型模式(Prototype)拔一根猴毛,吹出千万个高效创建对象克隆ArrayList、PrototypeBean
建造者模式(Builder)高配中配与低配,想选哪配就哪配开放个性化配置选配StringBuilder、BeanDefinitionBuilder
代理模式(Proxy)没有资源没时间,得找媒婆来帮忙增强职责媒婆ProxyFactoryBean、JdkDynamicAopProxy、CglibAopProxy
门面模式(Facade)打开一扇门,走向全世界统一访问入口前台jdbcUtils、RequestFacade
装饰器模式(Decorator)大舅二舅都是舅灵活扩展,同宗同源煎饼BufferedReader、InputStream
享元模式(Flyweight)优化资源配置,减少重复浪费共享资源池全国社保联网String、Integer、ObjectPool
组合模式(Composite)人在一起叫团伙,心在一起叫团队统一整体和个体组织架构树HashMap、SqlNode
适配器模式(Adapter)适合自己的,才是最好的兼容转换(求同存异)电源适配AdvisorAdapter、HandlerAdapter
桥接模式(Bridge)约定优于配置不允许用继承DriverManager
委派模式(Delegate)这个需求很简单,怎么实现我不管只对结果负责授权委托书ClassLoader、BeanDefinitionParserDelegate
模板模式(Template)流程全部标准化,需要微调请覆盖逻辑复用把大象装进冰箱的步骤JdbcTemplate、HttpServlet
策略模式(Strategy)条条大路通罗马,具体哪条你来定把选择权交给用户选择支付方式Comparator、InstantiationStrategy
责任链模式(Chain of Responsibility)各人自扫门前雪,莫管他人瓦上霜解耦处理逻辑踢皮球FilterChain、Pipeline
迭代器模式(Iterater)流水线上坐一天,每个包裹扫一遍统一对集合的访问方式逐个刷脸进站Iterater
命令模式(Command)运筹帷幄之中,决胜千里之外解耦请求和处理遥控器Runable、TimeCase
状态模式(State)状态驱动行为,行为决定状态绑定状态和行为订单状态跟踪Lifecycle
备忘录(Memento)给我一剂“后悔药”备份草稿箱StateManageableMessageContext
中介者(Mediator)联系方式我给你,怎么搞定我不管统一管理网状资源朋友圈Timer
解释器模式(Interpreter)我想说“方言”实现特定语法解析摩斯密码Pattern、ExpressionParser
观察者模式(Observer)到点就通知我解耦观察者与被观察者闹钟ContextLoaderListener
访问者模式(Visitor)横看成岭侧成峰,远近高低各不同解耦数据结构和数据操作KPI考核FileVisitor、BeanDefinitionVisitor

设计模式混用

常见的设计模式有这么多,但当我们在业务上实现某个需求的时候很难说只用某一种设计模式就可以解决复杂的业务常用,常常需要多种不同的设计模式混合使用,在不经意间就将一些设计模式杂糅起来了,可以参考下图的关系来定义设计模式的混用技巧。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值