GeekBand 设计模式 笔记&心得 第一周(2)设计模式

模式分类:

创建型模式:创建对象或者变量使用的设计模式,可以减少需求更改时对已创建对象带来的冲击。

结构型模式:通过继承和组合得到更灵活的结构,减少更改对结构带来的冲击。

行为型模式:通过继承和组合来划分类和对象的职责,减少更改对多个交互对象带来的冲击。

类模式处理类与子类关系   对象模式处理对象间动态关系

关键技法:

静态->动态 

早绑定->晚绑定

继承->组合

编译时依赖->运行时依赖

紧耦合->松耦合


1.Template Method模式

使用虚方法,纯虚方法提高类扩展性


2.Strategy策略模式

定义一系列算法。把他们一个个封装起来,并且使它们可互相替换。该模式使得算法可独立于使用它的客户程序而变化

就是不同算法间可以互相替换但不会对稳定的产生影响。

通常运用在有许多条件判断语句的程序中(并且这个条件判断语句还可能不断增加)。

3.Observer观察者模式

定义对象间一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖它的对象都得到通知并自动更新。

使用Observer模式可以达到松耦合的效果。

目标发送通知时,无需指定观察者,通知自动传播。

4.Decorator装饰模式

动态地给一个对象增加一些额外的职责。就增加功能而言,Decorator模式比生成子类更为灵活。

这种模式避免了类的膨胀,使用组合的手法提高了类之间的灵活性。

5.Bridge桥模式

将抽象部分与实现部分分离,使它们可以独立变化

对象间组合的关系解耦了抽象和实现之间固有的绑定关系。

解决了多继承方案对单一职责原则,复用性差的缺点。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 设计模式简介: 什么是设计模式?每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样...
    hjsadam阅读 355评论 0 2
  • 设计模式基本原则 开放-封闭原则(OCP),是说软件实体(类、模块、函数等等)应该可以拓展,但是不可修改。开-闭原...
    西山薄凉阅读 3,908评论 3 14
  • 本周课程主要内容为:C++设计模式简介、面向对象设计八大原则和DOF-23设计模式中的5中模式,包括templat...
    cayhw阅读 508评论 0 3
  • C++设计模式是本周开始的一门全新的课程,在完成了第一周的学习之后,对C++设计模式有了一定的认识和了解,因此有一...
    GINNYAK阅读 696评论 0 3
  • 1.设计模式简介 课程目标 松耦合设计思想 面向对象设计原则 重构技法改善设计 GOF核心设计模式 设计模式 不断...
    hui1429阅读 240评论 0 0