一、定义策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 二、UML图:(来自百度百科)根据上面的UML图,我们需要的类有:1)Content类2)Strategy抽象类3)若干ConcreteStra ...
一、定义
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。
二、UML图:(来自百度百科)
根据上面的UML图,我们需要的类有:
1)Content类
2)Strategy抽象类
3)若干ConcreteStrategy类
三、写法:
1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 5 namespace StudyDesign 6 { 7 //抽像算法类 8 public abstract class Strategy 9 {10 //算法方法11 public abstract void AlgorithmInterface();12 }13 14 15 16 //具体算法A17 public class ConcreteStrategyA:Strategy18 {19 //算法实现20 public override void AlgorithmInterface()21 {22 Console.WriteLine("算法实现A"); 23 }24 }25 26 27 //具体算法B28 public class ConcreteStrategyB:Strategy29 {30 public override void AlgorithmInterface()31 {32 Console.WriteLine("算法实现B"); 33 }34 }35 36 37 //具体算法C38 public class ConcreteStrategyC:Strategy39 {40 public override void AlgorithmInterface()41 {42 Console.WriteLine("算法实现C");43 }44 }45 46 47 48 49 public class Content50 {51 private Strategy strategy;52 53 public Content(Strategy strategy) //构造函数54 {55 this.strategy = strategy;56 }57 58 public void ContentInterface() //方法59 {60 strategy.AlgorithmInterface();61 }62 }63 64 }
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:【学习笔记1】——策略模式
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。