设计模式
想游泳的鱼
喜欢足球,支持国际米兰
展开
-
C++实现策略(Strategy)模式
策略(Strategy)模式:它定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到算法的客户。下面模拟游戏中常用的打斗场面,来理解策略模式。在游戏中,通常有n个角色,每个角色都能发出动作:fight。每个角色都使用不同的武器,并且可以更换武器。下面是此场景简化的C++实现: Strategy.h #ifndef _STRETEGY_H_#define转载 2008-11-16 21:21:00 · 700 阅读 · 0 评论 -
策略模式
策略模式:定义了算法族,分别封装起来,让它们之间可以互换;此模式让算法的变化独立于使用算法的客户; 下面一个简单例子,让我们来演示这个模式。#include "stdafx.h"#include //算法接口类class IFly{public: virtual void fly() = 0;}; //实现A算法class FlyA: publi转载 2008-11-16 21:31:00 · 519 阅读 · 0 评论 -
关联--依赖、组合--聚合 联系与区别:
关联--依赖、组合--聚合 联系与区别:依赖是比关联弱的关系,关联代表一种结构化的关系,体现在生成的代码中,以java为例: 若类A单向关联指向类B,则在类A中存在一个属性B b。 若类A依赖类B,则不会有这个属性,类B的实例可能存在于某个方法调用的参数中,或某个方法的局部变量中。例如代码: 依赖:----存在于某个方法调用的参数中,转载 2008-10-20 16:27:00 · 720 阅读 · 0 评论