需求:
我们需要设计一种动作游戏。游戏有个法师和战士两种角色,角色以后还可能会增加,比如说修行者之类的。法师和战士可以装备不同的武器和外套,武器目前有枪和迫击炮两种,外套有隐形外套和普通外套两种。武器和外套以后也可能随时增加。
设计分析:
在系统中我们看到有三种变化的需求,一是角色,二是武器,三是外套。同时角色有一些共同的行为,都可以跑,而且都必须装备武器和外套。我们将采用策略者模式隔离这三种变化。将武器和外套分属不同的策略组,或者说是武器库和外套库供用户选择。将角色作为一个父类,不同的角色继承继承父类的一些相同的行为,比如说跑。
类图: