zoukankan      html  css  js  c++  java
  • 策略模式的基本代码

    策略模式的基本代码

    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();
            }
        }

    }
  • 相关阅读:
    The connection to adb is down, and a severe error has occured
    《Head First 设计模式》学习笔记——适配器模式 + 外观模式
    CF1062F Upgrading Cities
    2018-8-10-win10-uwp-App-to-app-communication-应用通信
    2018-8-10-win10-uwp-App-to-app-communication-应用通信
    2019-8-31-dotnet-动态代理魔法书
    2019-8-31-dotnet-动态代理魔法书
    2019-8-31-PowerShell-使用-WMI-获取信息
    2019-8-31-PowerShell-使用-WMI-获取信息
    2018-11-2-win10-uwp-通过-win2d-画出笔迹
  • 原文地址:https://www.cnblogs.com/kakaliush/p/1963337.html
Copyright © 2011-2022 走看看