美文网首页
Boolan 设计模式_2

Boolan 设计模式_2

作者: 竹林柳岸 | 来源:发表于2017-07-06 23:21 被阅读0次

    主要内容:

    本节主要讲对象创建和接口隔离各四种设计模式。

    1. 对象创建模式

    1.1 工厂模式

    ISplitter *splitter = new BinarySplitter(); 这样写是编译时的依赖具体类,违反依赖倒置原则。
    MainForm只依赖于抽象的ISplitter和SplitterFactory,并不依赖于具体类。
    利用工厂方法创建具体的Splitter,延迟对象创建。

    1.2 抽象工厂

    解决一系列对象创建的工作。

    1.3 原型模式

    通过克隆自己创建对象,调用自己的拷贝构造函数 eg. new BinarySplitter(*this)。

    1.4 构建器
    • eg. 构建房子
    • 在构造函数中调用虚函数是静态绑定,不是动态绑定。因为子类对象在构造时,先调用父类的构造函数,由于子类还没有构造出来,所以在调用父类构造中不能调用子类的虚函数。
    • 适用于:构建过程相同,但构建的各个部分不同的对象。
      分离house和housebuilder,housebuilder中有一个指向house的指针,获取house的成员。housedirector实现对house的构建过程,其中有一个指向housebuilder的指针,获取构造各个部件的方法。

    2. 接口隔离模式

    2.1 门面模式
    • 无论内部怎么变化,对外的接口还都是一致的。
    • “解耦”。
    • 一种架构设计思想。
    2.2 代理模式
    • 两个对象之间增加一层间接层。
    • 在分布式系统中应用广泛。
    2.3 适配器
    • 复用原有的类,但现有的接口和原有接口不一致情况使用。
    • 两种适配:
      (1)对象适配,运用组合,符合松耦合。
      (2)类适配,运用多继承,protected继承实现,不是继承接口。一般不推荐使用。
    2.4 中介者
    • 多个对象相互关联的情况使用。
    • 用一个对象封装变化。

    ps. 暂时写这么多,后面会边看书边补充。

    相关文章

      网友评论

          本文标题:Boolan 设计模式_2

          本文链接:https://www.haomeiwen.com/subject/bewkhxtx.html