smuggler_2003的专栏

smuggler什么意思?走私者也。象我们这样水平不到家的程序员不就是走私者么。...

设计模式学习笔记(十四)——结构型模式总结

结构型模式总结1、Adapter与Bridge:共同点:它们都给另一对象提供了一定程度上的间接性,有利于系统的灵活。都涉及到从自身以外的一个接口向这个对象转发请求。不同点:Adapter模式主要考虑2个已有接口不匹配的问题,它完全不考虑接口的实现,也不考虑它们各自如何演化。Adapter模式在类已...

2007-02-08 10:38:00

阅读数:554

评论数:0

设计模式学习笔记(十三)——Proxy代理

十二、Proxy(代理)情景举例:为其他对象提供一种代理以控制对这个对象的访问。四种常见情况:(1)远程代理(2)虚代理(3)保护代理(4)智能指针代码示例:/* 这个例子是虚代理的例子。*//* 代理类与实际类公共接口*/class Graphic {public:    virtual ~Gr...

2007-02-08 10:35:00

阅读数:500

评论数:0

设计模式学习笔记(十二)——Flyweight享元

十一、Flyweight(享元)情景举例:运用共享技术有效地支持大量细粒度的对象。代码示例:/* Flyweight抽象类。其操作中的GlyphContext下文会介绍*/class Glyph {public:    virtual ~Glyph();     virtual void Draw...

2007-02-08 10:34:00

阅读数:552

评论数:0

设计模式学习笔记(十一)——Facade外观

十、Facade(外观)情景举例:为子系统中的一组接口提供一个一致的界面代码示例:/* 系统中各种类*/class Scanner ;class Parser ;class ProgramNodeBuilder ;class ProgramNode ;class CodeGenerator ;cl...

2007-02-08 10:32:00

阅读数:340

评论数:0

设计模式学习笔记(十)——Decorator装饰

九、Decorator(装饰)情景举例:动态地给一个对象添加一些额外的职责。代码示例:/* 装饰与待装饰类共同的抽象类*/class VisualComponent {public:    VisualComponent();     virtual void Draw();    virtual...

2007-02-08 10:30:00

阅读数:422

评论数:0

设计模式学习笔记(九)——Composite组成

八、Composite(组成)情景举例:将对象组合成树形结构以表示“部分-整体”的层次结构。代码示例:/* 最关键的抽象类,涵盖了叶子与容器的接口*/class Equipment {public:    virtual ~Equipment();     const char* Name() {...

2007-02-08 10:29:00

阅读数:420

评论数:0

设计模式学习笔记(八)——Bridge桥接

七、Bridge(桥接)情景举例:将抽象部分与它的实现部分分离,使它们都可以独立地变化。代码示例:/* 抽象部分的接口*/class Window {public:    Window(View* contents);     // requests handled by window    vi...

2007-02-08 10:26:00

阅读数:391

评论数:0

设计模式学习笔记(七)——Adapter适配器

六、Adapter(适配器)情景举例:解决类之间由于接口不匹配而不能复用的情况。代码示例:/* 目标类*/class Shape {public:    Shape();    virtual void BoundingBox(        Point& bottomLeft, Poin...

2007-02-08 10:24:00

阅读数:399

评论数:0

设计模式学习笔记(六)——创建型模式总结

创建型模式主要分为2种,一种是生成创建对象的类的子类的方法,对应于Factory Method模式,其优点是简单,相对于其他模式需要新的类,它只需要新的操作即可。人们通常将Factory Method作为一种标准的创建对象的方法。但这种方法的主要缺点是:仅仅为了改变产品类,就需要创建一个新的子类。...

2007-02-08 10:18:00

阅读数:693

评论数:0

设计模式学习笔记(五)——Singleton单件

五、Singleton(单件)情景举例:保证仅有一个迷宫工厂的实例。代码示例:/* 注意静态函数和静态变量,它们实现了单件   构造函数设为protected以供子类访问,若没有子类可以设为private*/class MazeFactory {public:    static MazeFact...

2007-02-08 10:17:00

阅读数:428

评论数:0

设计模式学习笔记(四)——Prototype原型

四、Prototype(原型)情景举例:创建一个可重用的建造迷宫程序。代码示例:/* 原型工厂继承自抽象工厂类*/class MazePrototypeFactory : public MazeFactory {public:    MazePrototypeFactory(Maze*, Wall...

2007-02-08 10:16:00

阅读数:493

评论数:0

设计模式学习笔记(三)——Factory Method工厂方法

三、Factory Method(工厂方法)情景举例:创建一个可重用的建造迷宫程序。代码示例:class MazeGame {public:    Maze* CreateMaze();/**/// 以下4个方法为工厂方法:/**/    virtual Maze* MakeMaze() cons...

2007-02-08 10:13:00

阅读数:418

评论数:0

设计模式学习笔记(二)——Build生成器

二、Build(生成器)情景举例:创建一个可重用的建造迷宫程序。代码示例:/* 用非抽象类来让客户只定义自己感兴趣的操作*/class MazeBuilder {public:    virtual void BuildMaze() { }    virtual void BuildRoom(in...

2007-02-08 09:46:00

阅读数:459

评论数:0

设计模式学习笔记(一)——Abstract Factory抽象工厂

  终于读完了四人组的设计模式,感觉仍有很多地方不理解。果然不是读一次就完全理解的,这里写下一点笔记,整理一下心得,方便以后查阅。笔记主要以代码为主,并结合设计模式迷你手册一同查阅。(设计模式迷你手册中的代码完全照抄四人组的设计模式,但完全不加任何注释,看的晕晕的。)一、Abstract Fact...

2007-02-08 09:33:00

阅读数:498

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭