zoukankan      html  css  js  c++  java
  • 策略模式

    策略模式可以认为是根据输入要求通过多种方法得到结果,对中间计算过程的封装,可参考:http://www.cnblogs.com/chenssy/p/3295643.html,总结已经很好了,这里贴一张策略模式的结构图,用startuml自己画的:

    生成c#代码为:

    using System.Windows.Forms;
    
    namespace TestFormSington
    {
        public abstract class Strategy
        {
            public abstract void AlgorithmInterface();
        }
        public class Context
        {
            public Strategy strategy;
            public Context(Strategy _strategy)
            {
                strategy = _strategy;
            }
            public void ContextInterface()
            {
                strategy.AlgorithmInterface();
            }
        }
        public class ConcreteStrategyA : Strategy
        {
            public override void AlgorithmInterface()
            {
                MessageBox.Show("ConcreteStrategyA");
            }
        }
        public class ConcretStrategyC : Strategy
        {
            public override void AlgorithmInterface()
            {
                MessageBox.Show("ConcretStrategyC");
            }
        }
    
        public class ConcretStrategyB : Strategy
        {
            public override void AlgorithmInterface()
            {
                MessageBox.Show("ConcretStrategyB");
            }
        }
    }

    引用为:

     Context context = new Context(new ConcreteStrategyA());
     context.ContextInterface();
  • 相关阅读:
    Mobile phones(poj1195)
    Matrix(poj2155)
    1080
    1266
    codeforces626D . Jerry's Protest
    字符串格式化
    附加MySQL数据库的方法
    avaScript中变量的声明和赋值
    选择法排序
    JavaScript中变量的类型
  • 原文地址:https://www.cnblogs.com/nygfcn1234/p/3361355.html
Copyright © 2011-2022 走看看