关闭

【设计模式】设计模式C++编程实现之观察者模式(ObserverPattern)

观察者模式定义: 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会受到通知并自动更新。 观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听...
阅读(2488) 评论(2)

【设计模式】设计模式C++编程实现之单例模式(Singleton Pattern)

有一些对象我们只需要一个,比如说线程池(threadpool)缓存(cache)、对话框、处理偏好设置和注册表的对象、日志对象,充当打印机、显卡等设备的驱动程序的对象。如果制造出多个实例,则会导致许多问题的产生。 许多时候的确可以通过程序员之间的阅读就可以办到,但是利用单例模式是更好的办法。 单例模式给我们一个全局的访问点,和全局变量一样方便,有没有全局变量的缺点(必须在程序开始就创建,如果后...
阅读(2901) 评论(1)

设计模式之组合模式(Composite Pattern)

作用: 将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。 UML结构图: 抽象基类: 1)Component:为组合中的对象声明接口,声明了类共有接口的缺省行为(如这里的Add,Remove,GetChild函数),声明一个接口函数可以访问Component的子组件. 接口函数: 1)Compo...
阅读(1428) 评论(0)

【设计模式】设计模式C++编程实现之策略模式(Strategy Pattern)

在介绍具体的设计模式之前,先介绍一下OO(Objected-Oreinted)基础以及OO原则。 OO基础:抽象、封面装、多态、继承。OO原则: 封装变化。多用组合,少用继承。针对接口编程,不针对实现编程。 策略模式定义: 定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。 一个很重要的设计原则是: 找出...
阅读(2176) 评论(0)
    个人资料
    • 访问:1738209次
    • 积分:14181
    • 等级:
    • 排名:第965名
    • 原创:122篇
    • 转载:15篇
    • 译文:6篇
    • 评论:937条
    博客专栏
    公告
    博客已迁移至:http://xiajunhust.github.io/