Design Pattern
文章平均质量分 71
chainyu
死ぬ気でやれよ、死なねーから!
展开
-
设计模式——工厂方法模式_FactoryMethod
工厂方法模式 Define an interface for creating an object, but let subclasses decide which class to instantiate Factory Method lets a class defer instantiation to subclasses. 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法原创 2011-11-17 13:07:16 · 420 阅读 · 0 评论 -
设计模式——适配器模式_Adapter Pattern
适配器模式,又称变压器模式,包装模式 Convert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn't otherwise because of incompatible interfaces.(将一个类的接口变换成客户端原创 2011-11-30 14:20:40 · 753 阅读 · 0 评论 -
设计模式——策略模式_Strategy Pattern
策略模式 Define a family of algorithms, encapsulate each one, and make them interchangeable. (定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。) UML类图 C++代码实现 #include using namespace std; class Strategy { pu原创 2011-12-02 13:13:31 · 751 阅读 · 0 评论 -
设计模式——访问者模式_Visitor Pattern
访问者模式: Represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the classes of the elements on which it operates.(封装一些作用原创 2012-01-09 14:06:15 · 482 阅读 · 0 评论 -
设计模式——迭代器模式_Iterator Pattern
迭代器模式: Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation.(它提供一种方法访问一个容器对象中各个元素,而又不需要该对象的内部细节 C++代码实现 #ifndef __AGGREGATE__H原创 2012-01-10 17:23:53 · 410 阅读 · 0 评论 -
设计模式——责任链模式_Chain of Responsibility Pattern
责任链模式: Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. Chain the receiving objects and pass the request along the chain until an原创 2012-01-12 14:08:49 · 410 阅读 · 0 评论 -
设计模式——中介者模式_Mediator Pattern
中介者模式: Define an object that encapsulates how a set of objects interact. Mediator promotes loose coupling by keeping objects from referring to each other explicity, and it lets you vary their interac原创 2012-01-16 17:01:08 · 415 阅读 · 0 评论 -
设计模式——命令模式_Command Pattern
命令模式: Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations(将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排原创 2012-01-17 13:51:06 · 473 阅读 · 0 评论 -
设计模式——备忘录模式_Memento Pattern
备忘录模式: Without violating encapsulation, capture and externalize an object's internal state so that the object can be restored to this state later.(在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先原创 2012-01-18 13:10:54 · 544 阅读 · 0 评论 -
设计模式——组合模式_Composite Pattern
组合模式,又称合成模式,部分-整体模式(part-whole) Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly.(将对象组合成原创 2011-11-29 14:19:10 · 434 阅读 · 0 评论 -
设计模式——模板模式_Template Pattern
模板方法模式 Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm's原创 2011-11-29 09:55:55 · 444 阅读 · 0 评论 -
设计模式——抽象工厂模式_AbstractFactory
#include using namespace std; class Human { public: virtual void Talk(){ } virtual void GetColour() {} virtual void GetSex() {} }; class AbstractYellowHuman { public: virtual void Talk() = 0;原创 2011-11-16 13:33:44 · 422 阅读 · 0 评论 -
设计模式——建造者模式_Builder Pattern
建造者模式(或生成器模式)定义: Separate the construction of a complex object from its representation so that the same construction process can create different representations.(将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示原创 2011-11-18 16:08:03 · 395 阅读 · 0 评论 -
设计模式——单例模式_Singleton Pattern
单例模式定义: Ensure a class has only one instance, and provide a global point of access to it.(确保类只有一个实例,自行实例化并向整个系统提供这个实例) UML类图: C++实现代码: #include using namespace std; class MMORPG { p原创 2011-11-18 10:39:48 · 319 阅读 · 0 评论 -
设计模式——原型模式_Prototype Pattern
原型模式 Specify the kinds of objects to create using a prototypical instance, and create new objects by copying this prototype.(用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。) UML类图 C++代码实现原创 2011-11-22 14:11:14 · 418 阅读 · 0 评论 -
设计模式——观察者模式_Observer Pattern
观察者模式 Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically. (定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对原创 2011-11-22 10:42:57 · 365 阅读 · 0 评论 -
设计模式——代理模式_Proxy Pattern
代理模式 Provide a surrogate or placeholder for anther object to control access to it.(为其他对象提供一种代理以控制对这个对象的访问。) UML类图 C++代码实现 #include using namespace std; class Subject { public: vir原创 2011-11-23 14:33:13 · 494 阅读 · 0 评论 -
设计模式——外观模式_Facade Pattern
外观模式,又称门面模式。其实是为外部访问子系统而提供的一个窗口 Provide a unified interface to a set of interfaces in a subsystem. Facade defines a higher-level interface that makes the subsystem easier to use. (要求一个子系统的外部与其内部的通信必须原创 2011-11-24 15:04:05 · 436 阅读 · 0 评论 -
设计模式——享元模式_Flyweight Pattern
享元模式: Use sharing to support large numbers of fine-grained objects efficiently. (使用共享对象可有效地支持大量的细粒度的对象。) UML类图: C++代码实现: #include #include #include using namespace std; class Fly原创 2011-11-25 19:59:44 · 394 阅读 · 0 评论 -
设计模式——装饰模式_Decorator Pattern
装饰模式 Attach additional responsibilities to an object dynamically keeping the same interface. Decorators provide a flexible alternative to subclassing for extending functionality.(动态地给一个对象添加一些额外的职责,就增原创 2011-11-28 13:31:48 · 375 阅读 · 0 评论