首页 > 其他 > 详细

大话大话设计模式之策略模式

时间:2017-03-05 23:12:57      阅读:217      评论:0      收藏:0      [点我收藏+]
策略模式是定义一系列算法的方法,所有这些算法完成都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类之间的耦合
 
主要运用的场景:只要在分析过程中听到需要在不同时间应用不同的业务规则处理时,就可以使用
 
基本算法
 
 技术分享

  

 
    //抽象算法类
    abstract class Strategy
    {
        //算法方法
        public abstract void AlgorithmInterface();
    }
    //具体算法A
    class ConcreteStrategyA : Strategy
    {
        //算法A实现方法
        public override void AlgorithmInterface()
        {
            Console.WriteLine("算法A实现");
        }
    }
    //具体算法B
    class ConcreteStrategyB : Strategy
    {
        //算法B实现方法
        public override void AlgorithmInterface()
        {
            Console.WriteLine("算法B实现");
        }
    }
    //具体算法C
    class ConcreteStrategyC : Strategy
    {
        //算法C实现方法
        public override void AlgorithmInterface()
        {
            Console.WriteLine("算法C实现");
        }
    }
    //上下文
    class Context
    {
        Strategy strategy;

        public Context(Strategy strategy)
        {
            this.strategy = strategy;
        }
        //上下文接口
        public void ContextInterface()
        {
            strategy.AlgorithmInterface();
        }
    }

    class Program {
        static void Main(string[] args) {
            Context context;

            context = new Context(new ConcreteStrategyA());
            context.ContextInterface();

            context = new Context(new ConcreteStrategyB());
            context.ContextInterface();

            context = new Context(new ConcreteStrategyC());
            context.ContextInterface();

            Console.Read();
        }
    }

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

大话大话设计模式之策略模式

原文:http://www.cnblogs.com/zhuxb/p/6507031.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!