随笔分类 -  设计模式【C++】

。。
迭代器模式
摘要:迭代器模式:提供一种方法顺序访问(遍历)一个聚合对象中的各个元素,而又不暴露该对象的内部表示。 阅读全文

posted @ 2014-03-17 20:33 光标 阅读(124) 评论(0) 推荐(0)

组合模式
摘要:组合模式:将对象组合成树形结构,以表示‘部分-整体’的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。 阅读全文

posted @ 2014-03-17 20:30 光标 阅读(195) 评论(0) 推荐(0)

备忘录模式
摘要:备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将该对象恢复到原先保存的状态。 阅读全文

posted @ 2014-03-17 20:27 光标 阅读(173) 评论(0) 推荐(0)

适配器模式
摘要:适配器模式:将一个类的接口转换成客户希望的另外一个接口,adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。新旧模块接口都不方便改变的时候,增加适配器接口。 阅读全文

posted @ 2014-03-17 20:22 光标 阅读(160) 评论(0) 推荐(0)

状态模式
摘要:状态模式:当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类。可读性和性能代价比较大,不建议使用,我觉得不如case好使。 阅读全文

posted @ 2014-03-17 20:18 光标 阅读(151) 评论(0) 推荐(0)

观察者模式
摘要:观察者模式:定义了一种一对多的依赖关系,让过个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使得它们能够自动更新自己。 将一个系统分割成一系列相互协作的类,有一个很不好的副作用,那就是,需要维护相关对象间的一致性。我们不希望为了维护一致性而使各类紧密耦合,这个会给维护,扩展或重用都带来不便。 观察者模式所做的工作其实就是在解除耦合,让耦合的双方都依赖于抽象,而不是依赖于具体,从而使得各自的变化都不会影响另一半的变化。 阅读全文

posted @ 2014-03-17 20:13 光标 阅读(144) 评论(0) 推荐(0)

建造者模式
摘要:建造者模式:将一个复杂对象的【构建与表示】分离,使得同样的构建过程可以创建不同的表示。一个产品,建造者+指挥者,具体建造者返回产品对象。用于创建一些复杂对象,这些对象内部构建间的建造顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化。算法+组成部分+装配方式间相互分离。 阅读全文

posted @ 2014-03-12 17:43 光标 阅读(135) 评论(0) 推荐(0)

外观模式
摘要:外观模式:为子系统中的一组接口提供一个一致的界面(接口),此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。人为分层,分子系统;层次更加清晰,更容易理解和使用。 阅读全文

posted @ 2014-03-12 15:52 光标 阅读(135) 评论(0) 推荐(0)

模版方法模式
摘要:模版方法模式:骨架在超类,细节在子类;通过把不变行为搬移到超类,去除子类中的重复代码来体现它的优势。但继承的强制性约束关系导致子类算法不能被其它平行类复用!Template模式暴露的问题也正是继承所固有的问题,Strategy模式则通过组合(委托)来达到和Template模式类似的效果,其代价就是空间和时间上的代价。Strategy模式和Template模式解决了类似的问题,也正如在Template模式中分析的,Strategy模式和Template模式实际是实现一个抽象接口的两种方式:继承和组合之间的区别。要实现一个抽象接口,继承是一种方式:我们将抽象接口声明在基类中,将具体的实现放在具体子 阅读全文

posted @ 2014-03-11 20:58 光标 阅读(131) 评论(0) 推荐(0)

原型模式(克隆)
摘要:原型模式,Prototype 阅读全文

posted @ 2014-03-11 17:38 光标 阅读(115) 评论(0) 推荐(0)

策略模式
摘要:策略模式 阅读全文

posted @ 2014-03-11 16:37 光标 阅读(133) 评论(0) 推荐(0)

装饰模式和代理模式
摘要:装饰模式,代理模式 阅读全文

posted @ 2014-03-11 16:16 光标 阅读(186) 评论(0) 推荐(0)

设计原则
摘要:设计原则,思想 阅读全文

posted @ 2014-03-10 11:52 光标 阅读(159) 评论(0) 推荐(0)

工厂模式
摘要:设计模式,工厂模式 阅读全文

posted @ 2014-03-07 20:44 光标 阅读(183) 评论(0) 推荐(0)

反射机制
摘要:“反射这个特性在C++中是没有的。所谓反射,自己的认为就是通过一个名字就可创建、调用、获取信息等一系列的操作,这个在脚本语言里面是比较常见的,COM组件也类似,知道个ID名,就可以做很多的工作了。”下面提供一种反射技术的实现(C++):UML关系:常见的关系有:继承(Inheritance),关联关系(Association),聚合关系(Aggregation),复合关系(Composition),依赖关系(Dependency)。其中,聚合关系(Aggregation),复合关系(Composition)属于关联关系(Association)。一般关系表现为继承或实现关系(is a),关联关 阅读全文

posted @ 2014-03-07 17:31 光标 阅读(337) 评论(0) 推荐(0)

导航