zoukankan      html  css  js  c++  java
  • 策略模式原型

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
     
    namespace StrategyMordern
    {
         /// <summary>
        /// 抽象算法类  
        /// </summary>
        abstract class Strategy
        {
            //算法方法
            public abstract void AlgorithmInterface();
        }
     
        class ConcreteStrategyA : Strategy
        {
            //算法A实现方法
            public override void AlgorithmInterface()
            {
                Console.WriteLine("算法A实现");
            }
        }
     
        class ConcreteStrategyB : Strategy
        {
            //算法B实现方法
            public override void AlgorithmInterface()
            {
                Console.WriteLine("算法B实现");
            }
        }
     
        class ConcreteStrategyC : Strategy
        {
            //算法C实现方法
            public override void AlgorithmInterface()
            {
                Console.WriteLine("算法C实现");
            }
        }
     
        /// <summary>
        /// Context,用一个ConcreteStrategy来配置,维护一个对Strategy对象的引用。
        /// </summary>
        class Context
        {
            Strategy strategy;
            public Context(Strategy strategy)
            {
                this.strategy = strategy;
            }
     
            //上下文接口
            public void ContextInterface()
            {
                strategy.AlgorithmInterface();
            }
        }
    }
     
     
    //Main函数主界面
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
     
    namespace StrategyMordern
    {
        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();
            }
        }
    }
    代码都是书里看到的,自己手写的。大家共同学习。
  • 相关阅读:
    javascript 获取event
    IE与火狐下兼容(阻止冒泡事件)
    IE和FireFox中JS兼容之event
    不同浏览器中childNodes获取子节点个数
    文档结构和遍历
    爬取拉钩Java招聘数据
    爬取糗事百科的图片
    爬虫框架scrapy安装
    会爬电影神器,是一种什么样的体验,你懂得!!!!!!!
    利用Python的unittest单元测试框架的discover方法批量执行脚本用例
  • 原文地址:https://www.cnblogs.com/loveyatou/p/2961627.html
Copyright © 2011-2022 走看看