设计模式(一) 策略设计模式

  • content
    {:toc}

    一、前言

我是做android的,以我现在的角度和遇到的设计模式有:

  • 策略设计模式
  • 代理设计模式
  • 工厂设计模式
  • 责任链设计模式(事件分发)
  • 适配器设计模式
  • 单例设计模式
  • 等一些模式

二、策略设计模式

策略设计模式,据我所知是用于游戏方面的,比如 梦幻西游的召唤兽,游戏里面接近100种召唤兽,根据一些当前的判断,可以抽象出 攻击行为(释放法术和物理攻击)、被攻击行为、身上的状态、死亡的状态;基本差不多就这些内容,如果每次都去写这些内容,那就看你要写100次,我感觉上比较痛苦。

如果采用策略模式,问题可能就比较简单了。可以把 攻击行为(释放法术和物理攻击)、被攻击行为、身上的状态、死亡的状态,通通抽象成一个接口,然后去把所有用到的行为,都去实现,这样至少可以不用去写100次的不同的行为,可以直接注入,已经实现好的行为,从而达到代码重用的目的

策略模式的好处:可以进行代码重用;减少if else;

怎么学会策略模式:把具有相同行为的一类,区分不变的和变的,把变化的抽象成接口,进行实现注入。

三、设计模式的—五大基本原则

单一职责(srp):

里氏替换:

依赖倒置:

开闭原则:

接口隔离:

迪米特原则(最小知识原则):

最后

设计模式之策略设计