设计模式23种
创建型:5
模式名称 | 生活例子 | 一句话介绍 |
---|---|---|
工厂 | 实体工厂 | 不同条件下创建不同实例,封装创建细节 |
抽象工厂 | 换皮肤 | 可以创建工厂的工厂 |
单例 | CEO | 提供一个全局访问点 |
原型 | 克隆 | 通过拷贝原型船舰新的对象、高效创建对象 |
建造者 | 选配 | 开放个性配置步骤、用来创建复合对象 |
结构型:7
模式名称 | 生活例子 | 一句话介绍 |
---|---|---|
代理 | 媒婆、缓存 | 没有资源没时间,得找别人来帮忙,为其他对象提供一种代理以控制对这个对象的访问 |
外观 | 前台 | 对外提供统一的接口用力啊访问子系统 |
装饰器 | 煎饼 | 为对象添加新功能、灵活扩展、同宗同源、他二舅他大舅都是他舅 |
享元 | 全国社保联网 | 使用对象池来减少重复创建对象、优化资源配置、共享资源池 |
组合 | 组织架构树 | 将整体与局部(属性结构)进行递归组合,让和互动能够以一种方式对其进行处理 |
适配器 | 电源适配、万能充 | 将原来不兼容的两个类融合在一起 |
桥接 | 桥 | 将两个能够独立变化的部分分离开来 |
行为型:11
模式名称 | 生活例子 | 一句话介绍 |
---|---|---|
模板 | 把大象装进冰箱 | 定义一套流程模板,根据需要实现模板中的操作,标准的流程化 |
策略 | 选择支付方式 | 封装不同的算法,算法之间能相互替换 |
责任链 | 踢皮球 | 拦截的类都实现统一的接口,沿着这条链处理请求 |
命令 | 遥控器 | 解耦请求和处理,将请求封装成命令并记录,能够撤销与重做 |
状态 | 订单状态追钟 | 状态驱动行为、行为决定状态 |
#备忘录 | 草稿箱 | 备份、后悔机制 |
#解释器 | 摩斯密码 | 给定一个别名来解释特定语法 |
迭代 | 逐个检票进站 | 提供一种方法,顺序访问一个聚合对象中的各个元素 |
中介者 | 朋友圈 | 联系方式我给你,怎么搞定我不管 |
观察者 | 闹钟 | 解耦观察者与被观察者 |
访问者 | KPI | 解耦数据结构和数据操作 |
委托 | 授权委托 | 我要这个结果,怎么实现我不管 |
网友评论