随笔分类 - 设计模式
摘要:成员函数指针与高性能的C++委托(上篇)撰文:Don Clugston引子标准C++中没有真正的面向对象的函数指针。这一点对C++来说是不幸的,因为面向对象的指针(也叫做”闭包(closure)”或”委托 (delegate)”)在一些语言中已经证明了它宝贵的价值。在Delphi (Object P...
阅读全文
摘要:作用:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。UML结构图:抽象基类:1) Component :定义一个对象接口,可以为这个接口动态地添加职责。2) Decorator:维持一个指向Component的指针,并且有一个和Component一致...
阅读全文
摘要:作用:运用共享技术有效地支持大量细粒度的对象UML结构图:解析:Flyweight模式在大量使用一些可以被共享的对象的时候使用。比如,在QQ聊天时很多时候你懒得回复又不得不回复,一般会用一些客套的话语敷衍别人,如“呵呵”,“好的”等待之类的,这些简单的答复其实每个人都是提前定义好的,在使用的时候才调...
阅读全文
摘要:作用:将一个类的接口转换成客户希望的另一个接口。Adapt模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。UML示意图1)采用继承原有接口类的方式2)采用组合原有接口类的方式解析:Adapt模式其实就是把完成同样一个功能但是接口不能兼容的类桥接在一起使之可以在一起工作,这个模式使得复用...
阅读全文
摘要:作用:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。UML结构图:抽象基类:1) Prototype:虚拟基类,所有原型的基类,提供Clone接口函数接口函数:1) Prototype::Clone函数:纯虚函数,根据不同的派生类来实例化创建对象。解析:Prototype模式其实就...
阅读全文

浙公网安备 33010602011771号