设计模式
漫步者、
从事游戏开发者
展开
-
设计模式之Factory模式
在面向对象系统设计中经常可以遇到以下的两类问题: 1)为了提高内聚(Cohesion)和松耦合(Coupling),我们经常会抽象出一些类的公共接口以形成抽象基类或者接口。这样我们可以通过声明一个指向基类的指针来指向实际的子类实现,达到了多态的目的。这里很容易出现的一个问题n多的子类继承自抽象基类,我们不得不在每次要用到子类的地方就编写诸如new ×××;的代码。这里带来两个问题1)客户程序员必原创 2013-03-21 08:51:36 · 754 阅读 · 0 评论 -
设计模式之Mediator模式
Mediator.h #ifndef _MEDIATOR_H_ #define _MEDIATOR_H_ #include using namespace std; class CCollage; class CMediator { public: CMediator(); virtual ~CMediator(); virtual void DoActionFrom原创 2013-07-04 16:39:39 · 925 阅读 · 0 评论 -
设计模式之MemenTo模式
Memento.h #ifndef __MEMENTO_H_ #define __MEMENTO_H_ #include using namespace std; typedef string State; class CMemento; class COriginator { public: COriginator(); COriginator(const State原创 2013-07-03 14:23:43 · 930 阅读 · 0 评论 -
设计模式之Observer模式
Observer.h #ifndef _OBSERVER_H_ #define _OBSERVER_H_ #include "Subject.h" #include using namespace std; typedef string State; class CConcreteObserverA:public CObserver { public: CConcr原创 2013-07-03 10:11:31 · 618 阅读 · 0 评论 -
设计模式之Prototype模式
关于这个模式,突然想到了小时候看的《西游记》,齐天大圣孙悟空再发飙的时候可以通过自己头上的3根毛立马复制出来成千上万的孙悟空,对付小妖怪很管用(数量最重要)。Prototype模式也正是提供了自我复制的功能,就是说新对象的创建可以通过已有对象进行创建。在C++中拷贝构造函数(Copy Constructor)曾经是很对程序员的噩梦,浅层拷贝和深层拷贝的魔魇也是很多程序员在面试时候的快餐和系统崩溃时原创 2013-03-20 16:02:59 · 754 阅读 · 0 评论 -
设计模式之Sate模式
State.h #ifndef _STATE_H_ #define _STATE_H_ class CState; class CContext { public: CContext(); CContext(CState *_sta); ~CContext(); void OperationInterface(); void OperationChangeState原创 2013-07-01 15:51:24 · 985 阅读 · 0 评论 -
设计模式之FlyWeight
FlyWeight.h #ifndef _FLYWEIGHT_H_ #define _FLYWEIGHT_H_ #include using namespace std; class CFlyWeight { public: CFlyWeight(string _instanceState); virtual~CFlyWeight(); virtual void Ope原创 2013-06-27 11:33:35 · 777 阅读 · 0 评论 -
设计模式之Strategy
Strategy.h #ifndef _STRATEGY_H_ #define _STRATEGY_H_ class CStrategy { public: CStrategy(); virtual~CStrategy(); virtual void AlgrithmInterface()=0; }; class CConcreteStrategyA:public C原创 2013-07-01 11:06:41 · 661 阅读 · 0 评论 -
设计模式之Facade模式
Facade.h #ifndef _FACADE_H_ #define _FACADE_H_ class CSubSystem1 { public: CSubSystem1(); ~CSubSystem1(); void Operatorion(); private: }; class CSubSystem2 { public: CSubSystem原创 2013-06-28 14:23:51 · 694 阅读 · 0 评论 -
设计模式之Interpret模式
context.h #ifndef _CONTEXT_H_ #define _CONTEXT_H_ class CContext { public: CContext(); ~CContext(); }; #endif context.cpp #include "context.h" CContext::CContext() { } CContext::~原创 2013-07-12 15:50:48 · 1196 阅读 · 0 评论 -
设计模式之Decoartor模式
Decoartor.h#ifndef _DECOARTOR_H_ #define _DECOARTOR_H_ class CComponent { public: CComponent(); virtual ~CComponent(); virtual void Operator()=0; private: }; class CConcereteComponent:p原创 2013-06-26 17:27:39 · 835 阅读 · 0 评论 -
设计模式之Chain of Responsibility模式
Responsibility.h #ifndef _RESPONSIBILITY_H_ #define _RESPONSIBILITY_H_ class CHandler { public: CHandler(); CHandler(CHandler *succ); virtual ~CHandler(); virtual void HandlerQuestion()=0原创 2013-07-09 16:10:51 · 670 阅读 · 0 评论 -
面向对象之五大基本原则
1、单一职责原则(Single-Resposibility Principle):对一个类而言,应该仅有一个引起它变化的原因。本原则是我们非常熟悉地"高内聚性原则"的引申,但是通过将"职责"极具创意地定义为"变化的原因",使得本原则极具操作性,尽显大师风范。同时,本原则还揭示了内聚性和耦合生,基本途径就是提高内聚性;如果一个类承担的职责过多,那么这些职责就会相互依赖,一个职责的变化可能会影响另一个原创 2013-04-22 23:26:13 · 699 阅读 · 0 评论 -
java之观察者模式
观察者模式:一对多关系,“多”以赖“一”,当“一”发生变化时,“多”也会相应得到消息通知发生改变。 分三个类对象: 1,subject 2,observerA, observerB, 3,main 代码如下: public class subject { private Vector m_oBject = new Vector(); public void attach(ob原创 2015-05-11 17:44:47 · 543 阅读 · 0 评论