策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类直接的耦合。
UML 图:
根据《大话设计模式》——第二章 商场促销这个案例代码来简单的记录一下策略模式的使用方式:
/// <summary> /// 现金收费抽象类 /// </summary> public abstract class CashSuper { /// <summary> /// 现金收取超类抽象方法收取现金 /// </summary> /// <param name="money">原价</param> /// <returns>当前价格</returns> public abstract double acceptCash(double money); }