关闭
当前搜索:

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

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

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

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

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

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

设计模式之桥接模式

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

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

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

设计模式之单例模式

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

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

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

设计模式之组合模式

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

设计模式之备忘录

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

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

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

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

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

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

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

The Art of Unix中文版读书笔记

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

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

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

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

原文地址: http://blog.csdn.net/iuhsihsow 说起观察者模式犹如黄河之水,滔滔不绝,一发而不可收拾啊。 今天先写上半部分,明天写事件委托。 直接上代码,感谢scl的分享 // 观察者模式定义了一种一对多的依赖,让多个观察者对象同时监听某一个 // 主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使 //...
阅读(2005) 评论(2)

设计模式之建造者模式,C++实现

原文地址: http://blog.csdn.net/iuhsihsow 其实一直在文中注明C++实现确实没有太大意义,无非是C++用指针来实现多态而非对象本身。 今天事情比较多,就偷下懒吧。 抄的《大话设计模式》的图 下面是实现代码,恩,基本上也是抄的。照着敲了一遍。 // 建造者模式(Builder),将一个复杂对象的构造与它的表示分离, // 使得...
阅读(1009) 评论(0)

设计模式之外观模式

原文地址: http://blog.csdn.net/iuhsihsow 外观模式主要是用于对底层细节的封装,当然,要结合每个系统的上层应用。 比如很多三维软件就是对DX或者OpenGL的底层细节进行了封装,可以这么说吧 下面是类图 下面是代码 // 外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式 // 定义了一个高程接口,这个...
阅读(1380) 评论(3)

设计模式之模板方法模式,C++实现

原创 http://blog.csdn.net/iuhsihsow 一种比较简单的模式,恩,就简单的写个了例子。 参照《C++ primer》和《大话设计模式》 类图,这次直接抄了个图 以下是代码 // 模板方法模式, 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 // 模板方法使得子类可以不改变一个算法的结构既可冲定义该算法的某些特定步骤。...
阅读(1632) 评论(0)

设计模式之原型模式,C++实现

原创:http://blog.csdn.net/iuhsihsow 其实个人觉得原型模式在C++也就那样吧。反正设计一个类,如果有需要都会重载=或者设置深拷贝函数。 所以就简单写一下吧。 示意图,UML还是不太会 代码: #include "stdafx.h" #include #include #include #include #in...
阅读(1923) 评论(0)

设计模式之简单工厂模式,C++实现

原创http://blog.csdn.net/iuhsihsow 只上图和代码吧 #include "stdafx.h" #include enum EOperator { ADD_OPER, SUB_OPER }; class MathOperator { public: MathOperator(){;} virtual...
阅读(1106) 评论(0)
24条 共2页1 2 下一页 尾页
    个人资料
    • 访问:185924次
    • 积分:3457
    • 等级:
    • 排名:第11211名
    • 原创:104篇
    • 转载:50篇
    • 译文:14篇
    • 评论:37条
    博客专栏
    文章分类
    站长统计