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

    }
  • 相关阅读:
    PythonStudy——socket 网络编程
    PythonStudy——异常处理
    PythonStudy——subprocess 模块
    PythonStudy——xlrd 与 xlwt 表格处理模块
    MySQLStudy——安装与环境部署
    Redo与undo在开发中的使用
    SQL语句的执行计划(oracle表的三种链接方式)
    SQLSERVER的兼容级别
    查看用户的SQL执行历史
    Spark是一种分布式的计算方案
  • 原文地址:https://www.cnblogs.com/kakaliush/p/1963337.html
Copyright © 2011-2022 走看看