Strategy Pattern


C#设计模式之策略模式

策略模式是一种行为设计模式, 它能让你定义一系列算法, 并将每种算法分别放入独立的类中, 以使算法的对象能够相互替换。这么说还有点抽象,这里就举个例子。假设我们需要输出一个字符串列表,比如以如下列表方式输出: just like this     随着需求的变更,可能需要输出不同的格式,比如增加一些特殊符号,比如如果要输出列表,则需要在用"<ul>"或者"<li>"来对字符串进行包装,再比如在HTML或者JSON格式中,需要输出一些起始标签或者结束标签。     所以我们可以抽象出一种输出列表格式的策略: 渲染开始标签或者元素 渲染列表中的每一个对象 渲染结束标签或者元素     不同的策略,可能有不同的格式,但是流程是通用的。     根据策略能否在运行时动态替换,策略模式有两种形式,分别是动态策略和静态策略模式。 动态策略模式     我们的目标是以两种格式输出列表: …

Design Pattern Strategy Pattern

  • 1