美文网首页
极客班第9周“设计模式2”笔记

极客班第9周“设计模式2”笔记

作者: Wancho | 来源:发表于2016-09-19 09:09 被阅读0次

    Factory Method工厂方法

    (抽象基类是不能被创建(new)的)

    1.在运行时再决定创建类型,方法是传入要被创建的类型的工厂(用工厂基类装载),再调用传入的工厂的创建功能。

    具体工厂overwrite工厂基类的纯虚函数。

    抽象工厂

    将同一系列的创建对象的工厂,抽出来放在到抽象工厂里面。

    Prototype原型模式

    它解决是问题跟工厂模式相似,但是方法有不同,相对是工厂模式来说比较少使用。原型模式是将工厂方法的“具体工厂”创建(new)具体对象的功能组合到“具体类”里面,在“具体类”里面创建自己应该叫克隆(clone)。它适用于创建“结构复杂的对象”,复杂的界:当用“工厂方法”创建时感到繁杂,这时候就可以尝试用原型模式。

    构建器

    (为什么c++父类的构造函数不能调用子类overwrite的虚函数?因为子类创建的时候,先是调用父类的构造函数,那么子类还没用创建完成时,父类又要调用子类的函数,这明显不可以的。也可以说在c++中,父类构造函数调用将要被子类overwrite的纯虚函数,这时是静态绑定。而在其它语言在这种情况则是动态绑定。)

    它和模板方法会有相识点,使用频率较少。

    Façade门面模式

    灰色框内就高内聚的一个子系统,外面则是用户。用户与系统之间有过多的耦合。为了解决耦合过多问题,我们应该为系统设计一个对外的接口。这种设计方法叫做Façade。

    Proxy代理模式

    通过实例方法访问,这是比较简单的。在实际开发情况中是会很复杂过程,一般会用专门的工具生成代码。

    适配器模式

    OladCass是抽象IAdaptee类的具体类。

    STL里面的stack和queue都是更改了deqeue的接口的。也属于适配器模式,只不过是抽象接口和具体接口都同是一个类而已。

    相关文章

      网友评论

          本文标题:极客班第9周“设计模式2”笔记

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