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();
  • 相关阅读:
    关于application/x-www-form-urlencoded编码
    socket 状态
    TCP/IP三次握手详解
    一步步优化JVM四:决定Java堆的大小以及内存占用
    编码问题
    git 应用
    父与子继承
    python try except
    python 编码问题
    requests 库使用方法
  • 原文地址:https://www.cnblogs.com/nygfcn1234/p/3361355.html
Copyright © 2011-2022 走看看