设计模式之访问者模式,C++实现

设计模式不能滥用啊 先借一张图 // Visitor.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" // 访问者模式(vistor), 表示一个作用于某对象结构中的各元素的操作, // 它使你可以在不改变各元素类的前提下定义作用于这些元素的操作 // 假设一个绘制软件,只能够绘制线面两种类型的图形 // 但是每个图形都...
阅读(2567) 评论(0)

设计模式之解释器模式,C++实现

借用下设计模式的图 代码 表示不是比较正规的实现。不过设计模式嘛,随心而设计,差不多是那个意思,“认真你就输了 // Interpert.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include using namespace...
阅读(2269) 评论(0)

设计模式之享元模式,C++实现

享元模式很常见,是一种减小内存的方式,大到三维场景中的一个房子,小到文字处理系统中的一个英文字母,都可以使用享元模式。 借鉴一下《大话设计模式》中的uml图吧 下面是代码: // Flyweight.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include usin...
阅读(2031) 评论(0)

设计模式之桥接模式

将整体里面的可能变化的部分抽象出来 其实个人对桥接模式不是很理解,貌似接触的里面没有这么复杂的结构 不过还是多用聚合,少用继承吧。(总觉得聚合组合比较好管理,一个好的继承是需要千锤百炼的,多重继承,多层继承的内存消耗不可小觑) 自己对这个模式都没有怎么理解,那么写出的代码估计也不敢恭维,不过还是写下来,作为记录吧。 // Bridge.cpp : Defines t...
阅读(732) 评论(0)

设计模式之命令模式,C++实现

命令模式应该是应用比较广泛的模式 各种编辑操作都会用到,可以将实现与操作分离, 解析用户操作为一部分代码,实现用户操作的目的又封装到另外一个地方,或者是命令模式的派生类或者是对象自身内部 《大话设计模式》中的贴图 代码: // Command.cpp : Defines the entry point for the console application. //...
阅读(1662) 评论(1)

设计模式之单例模式

单例模式是为了防止类被多次创建。 例如系统中的log日志类,就可以创建一个单例的做为系统主日志。 http://blog.csdn.net/iuhsihsow/article/details/8543742...
阅读(775) 评论(0)

设计模式之迭代器模式,C++下的讨论

C++ stl里面有迭代器, 看stl源码貌似更好,泛型编程嘛 有机会写一段解析stl源码的体会。 写了一部分关于stl中迭代的代码 http://blog.csdn.net/iuhsihsow/article/details/8664123...
阅读(641) 评论(0)

设计模式之组合模式

想不出组合模式优缺点,我觉得和一般的树形结构都差不多。 恩,不,还是有不同的,一般的二叉树和四叉树,他们的节点都是属于同一类型 一般的树 class Node { public: Node* pParent; std::list subNodeList; }; 组合模式: class Component { public: Add(Component* p...
阅读(693) 评论(0)

设计模式之备忘录

原理也比较简单,就是提取类的一部分信息作为一个备份 // Memento.cpp : Defines the entry point for the console application. // #include "stdafx.h" // 备忘录模式(Memento): 再不跑坏封装性的前提下 // 捕获一个对象的内部状态, 并在对象之外保存这个状态 //...
阅读(768) 评论(0)

设计模式之适配器,C++实现

大家应该用得比较多,就只上代码 // AdapterMode.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" // 适配器模式(Adapter),将一个类的借口转换成客户端希望 // 的另外一个借口,适配器模式使得原本由于借口不兼容而不能 // 一起工作的那些类可以一起工作 // 说白了,就是改名 // 情景假设:一个计算类的派生类由...
阅读(793) 评论(0)

未进行,标题占位(设计模式,抽象类工厂模式二)

使用反射来配置类工厂 包括: 1.C++反射的实现 2.该机制下的抽象类工厂模式...
阅读(521) 评论(0)

设计模式之抽象工厂,C++实现(一)

本部分就说明最简单的抽象工厂实现,当然在实际项目应用中不会这么做,仅为解释该模式。 上图的抽象 工厂有两个工厂,分别生产对应的ProductA和ProductB(可以假想为蓝色或者红色的两种产品A22 = 4) 下面为简单代码示例 // 抽象工厂模式(Abstract Factory),提供一个创建 // 一系列相关或相互依赖对象的接口,而无需指定他们具体的类...
阅读(972) 评论(0)

The Art of Unix中文版读书笔记

...
阅读(1280) 评论(1)

设计模式之观察者模式,C++实现(下部分)

原文地址: http://blog.csdn.net/iuhsihsow 恩,这部分就是单纯的委托了 直接贴代码 // 委托就是i一种引用方法的类型,一旦为委托分配了方法,委托将与 // 该方法具有完全相同的行为,委托方法的使用可以像其他任何方法一样, // 具有参数和返回值,委托可以看做是对函数的抽象,是函数的“类”,委托 // 的实例代表一个具体的函数 // 委托...
阅读(1066) 评论(0)

设计模式之观察者模式,C++实现(上部分)

原文地址: http://blog.csdn.net/iuhsihsow 说起观察者模式犹如黄河之水,滔滔不绝,一发而不可收拾啊。 今天先写上半部分,明天写事件委托。 直接上代码,感谢scl的分享 // 观察者模式定义了一种一对多的依赖,让多个观察者对象同时监听某一个 // 主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使 //...
阅读(1840) 评论(2)
24条 共2页1 2 下一页 尾页
    个人资料
    • 访问:182843次
    • 积分:2964
    • 等级:
    • 排名:第12276名
    • 原创:90篇
    • 转载:50篇
    • 译文:2篇
    • 评论:33条
    博客专栏
    文章分类
    站长统计