设计模式之前言

1. 模式

  在一定环境中解决某一问题的方案,包括三个基本元素:问题、解决方案和环境。

2. 设计模式

  (1)设计模式是一套反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解,保证代码可靠性。毫无疑问,设计模式于已于系统是多赢的。

  (2)设计模式使代码编制真正工程化。设计模式使软件工程的基石脉络,如同桥梁的结构一样。设计模式的基础是多态。

    1)实现多态的三个条件:继承、父类指针(或引用)指向子类对象,虚函数重写;

    2)多态实现原理:VPTR指针和虚函数表。 C++编译器为每一个含有虚函数的子类或父类提前分配一个VPTR指针,通过VPTR指针找到虚函数表,根据虚函数表找后来人写的代码。

3.学习设计模式的意义

  提高职业素养,关注学员在行业内的长期发展。

4. 学习设计模式的方法

  (1)对于初学者:积累案例,大于背类图。

  (2)初级开发人员:多思考、多梳理,归纳总结;尊重事务的认知规律,注意事务临界点的突破,不可浮躁。

  (3)中级开发人员:合适的开发环境,寻找合适的设计模式,解决问题;多应用;对经典组合设计模式的大量、自由的应用,要不断的追求。

5. 设计模式的分类

  分为三大类创建型模式、构建型模式和行为模式。

  (1)创建型模式:通常和对象的创建有关,涉及到对象实例化的方式。(包括单例模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式5种创建型模式)

   (2)构建型模式:描述的是如何组合类和对象以获得更大的结构。(包括代理模式、装饰者模式、适配器模式、桥接模式、组合模式、外观模式、享元模式7种构建型模式)

  (3)行为模式:对类或者对象怎样交互和怎样分配职责进行描述。(包括模板模式、命令模式、责任链模式、策略模式、中介者模式、观察者模式、备忘录模式、访问者模式、状态模式、解释器模式和迭代器模式共11种模式)

6. 设计模式基本原则

  (1)最终目标:高内聚,低耦合。

  (2)基本原则

 

    下面将举例介绍开放封闭原则、依赖倒置原则和迪米特法则三种(注:上图红色五角星标注原则)

    1)开放封闭原则

    案列图:
                          

    2)依赖倒置原则

    案列图:

            

                                

    3)迪米特法则

     案列图:

             

             

猜你喜欢

转载自www.cnblogs.com/cuizhu/p/11222506.html