• 策略模式的基本代码


    策略模式的基本代码

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace 策略模式
    {
        
    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();
            }
        }

        
    //抽象算法类
        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();
            }
        }

    }
  • 相关阅读:
    AcWing 276. I-区域
    学习笔记:可持久化线段树(主席树):静态 + 动态
    NOIP2016提高组 天天爱跑步
    AcWing 195. 骑士精神
    标准文档流
    css 盒模型
    css 继承性和层叠性
    css 选择器
    css 引入方式
    html body中的标签2
  • 原文地址:https://www.cnblogs.com/kakaliush/p/1963337.html
Copyright © 2020-2023  润新知