• 策略模式的基本代码


    策略模式的基本代码

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

    }
  • 相关阅读:
    冒泡排序
    CFURLCreateStringByAddingPercentEscapes
    AESCrypt加密与解密
    关于Xcode 的SDK与系统版本理解
    nginx 安全稳定版本
    bcom 遇到的那些问题
    nginx 配置404错误页面
    AES 对称加密解密
    SpringCloud stream连接RabbitMQ收发信息
    springboot1.5 和 2.0 引入 redis 并封装工具类
  • 原文地址:https://www.cnblogs.com/kakaliush/p/1963337.html
Copyright © 2020-2023  润新知