
设计模式--结构型模式
yuweihuangda1234
这个作者很懒,什么都没留下…
展开
-
C++设计模式-Proxy代理模式
Proxy代理模式作用:为其他对象提供一种代理以控制对这个对象的访问。代理的种类:如果按照使用目的来划分,代理有以下几种:远程(Remote)代理:为一个位于不同的地址空间的对象提供一个局域代表对象。这个不同的地址空间可以是在本机器中,也可是在另一台机器中。远程代理又叫做大使(Ambassador)。 也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对转载 2014-08-02 15:07:14 · 327 阅读 · 0 评论 -
C++设计模式-Adapter适配器模式
Adapter适配器模式作用:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。分为类适配器模式和对象适配器模式。系统的数据和行为都正确,但接口不符时,我们应该考虑使用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。转载 2014-08-02 14:58:43 · 268 阅读 · 0 评论 -
C++设计模式-Facade模式
Facade模式作用:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。动机 将一个系统划分成为若干个子系统有利于降低系统的复杂性。一个常见的设计目标是使子系统间的通信和相互依赖关系达到最小。达到该目标的途径之一是就是引入一个外观(Facade)对象,它为子系统中较一般的设施提供了一个单一而简单的界面。转载 2014-08-02 15:05:08 · 387 阅读 · 0 评论 -
C++设计模式-Bridge桥接模式
作用:将抽象部份与它的实现部份分离,使它们都可以独立地变化。将抽象(Abstraction)与实现(Implementation)分离,使得二者可以独立地变化。桥接模式号称设计模式中最难理解的模式之一,关键就是这个抽象和实现的分离非常让人奇怪,大部分人刚看到这个定义的时候都会认为实现就是继承自抽象,那怎么可能将他们分离呢。《大话设计模式》中就Bridge模式的解释:转载 2014-08-02 15:00:13 · 313 阅读 · 0 评论 -
C++设计模式 对象结构模式-----组合模式(COMPOSITE)
Composite组合模式作用:将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。UML图如下:在Component中声明所有用来管理子对象的方法,其中包括Add、Remove等,这样实现Component接口的所有子类都具备了Add和Remove。这样做的好处就是叶节点和枝节点对于外界没有区别,它们转载 2014-08-02 14:36:06 · 397 阅读 · 0 评论 -
C++设计模式-Decorator装饰模式
Decorator装饰模式作用:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。UML图如下:Component是定义一个对象接口,可以给这些对象动态地添加职责。ConcreteComponent是定义了一个具体的对象,也可以给这个对象添加一些职责。Decorator,装饰抽象类,继承了Component,从外类来扩展Comp转载 2014-08-02 15:00:22 · 293 阅读 · 0 评论 -
C++设计模式-Flyweight享元模式
Flyweight享元模式作用:运用共享技术有效地支持大量细粒度的对象。内部状态intrinsic和外部状态extrinsic:1)Flyweight模式中,最重要的是将对象分解成intrinsic和extrinsic两部分。2)内部状态:在享元对象内部并且不会随环境改变而改变的共享部分,可以称为是享元对象的内部状态3)外部状态:而随环境改变而改变的,取决于转载 2014-08-02 15:04:10 · 308 阅读 · 0 评论