设计 23种设计模式

设计模式分类

设计模式总共有 23 种,总体来说可以分为三大类:创建型模式( Creational Patterns )、结构型模式( Structural Patterns )和行为型模式( Behavioral Patterns )。

  • 创建型设计模式:关注对象的创建
  • 结构型设计模式:关注类与类之间的关系
  • 行为型设计模式:关注对象和行为的分离
分类关注点包含
创建型模式关注于对象的创建,同时隐藏创建逻辑工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式
结构型模式关注类和对象之间的组合适配器模式、过滤器模式、装饰模式、享元模式、代理模式、外观模式、组合模式、桥接模式
行为型模式关注对象之间的通信责任链模式、命令模式、中介者模式、观察者模式、状态模式、策略模式、模板模式、空对象模式、备忘录模式、迭代器模式、解释器模式、访问者模式
创建型设计模式

创建型设计模式关注对象的创建,就是把创建对象的代码转移了,对于转移的方法不同来区别这几种设计模式,例如:单例是把创建对象限制在类内部,使其他地方无法创建,原型是通过对象复制来创建对象,工厂是把创建对象放到工厂类

  • 单例模式:就是限制了对象的创建,重用了对象
  • 原型模式:换个方式创建对象,不走构造函数,而是内存拷贝
  • 简单工厂:不直接new,把对象创建转移到工厂类(简单工厂不属于23种设计模式)
  • 工厂方法:屏蔽对象的创建;留下了扩展空间;
  • 抽象工厂:屏蔽对象的创建;约束强制保障产品簇;
  • 建造者模式:复杂的工厂方法
结构型设计模式

结构型设计模式关注类与类之间的关系

  • 纵向关系:继承≈≈实现 超强关联
  • 横向关系:>组合>聚合>关联>依赖

组合优于继承,结构型设计模式的核心,用组合封装一层,然后加功能,对于解决的问题的侧重点不一样区别这几种设计模式,例如:同样是对一个新的功能类进行封装,但适配器模式重于让功能类适配已有的接口,保持接口对外一致性,而代理模式则重于对功能类的功能扩展

  • 适配器模式:解决重构的问题,新东西和旧系统不吻合,通过继承/组合进行适配
  • 代理模式:通过代理完成对业务类的访问,包一层方便任意功能扩展
  • 装饰器模式:通过组合+继承,完成对象功能动态扩展
行为型设计模式

行为型设计模式关注对象和行为的分离,把不稳定的地方移出去,能保证自身的稳定,就是把有变化的部分以传参的方式传进来。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值