• 策略模式(Stratety)


    namespace StrategyPattern //策略模式
    {
        /// <summary>
        /// 定义所以支持的算法的公共接口
        /// </summary>
        abstract  class Strategy
        {
            /// <summary>
            /// 算法方法。
            /// </summary>
            public abstract void AlgorithmInrerface();
        }
    
        class ConcreateStratetyA : Strategy
        {
            public override void AlgorithmInrerface()
            {
                Console.WriteLine("实现算法A"); 
            }
        }
    
        class ConcreateStratetyB : Strategy
        {
            public override void AlgorithmInrerface()
            {
                Console.WriteLine("实现算法B");
            }
        }
    
        class ConcreateStratetyC : Strategy
        {
            public override void AlgorithmInrerface()
            {
                Console.WriteLine("实现算法C");
            }
        }
    
        /// <summary>
        /// 用一个ConcreateStratety来配置,来维护一个对Stratety对象的引用。
        /// </summary>
        class Context
        {
            Strategy stratety;
            public Context(Strategy stratety)//构造器注入具体的策略对象。    
            {
                this.stratety = stratety;
            }
            /// <summary>
            /// 根据具体策略的对象,调用其算法的方法。
            /// </summary>
            public void ContextInterface()
            {
                stratety.AlgorithmInrerface();
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                Context context = null;
    
                context = new Context(new ConcreateStratetyA());
                context.ContextInterface();
    
    
                context = new Context(new ConcreateStratetyB());
                context.ContextInterface();
    
    
                context = new Context(new ConcreateStratetyC());
                context.ContextInterface();
    
                Console.Read();
            }
        }
    }
  • 相关阅读:
    关于jQuery的选择器
    解读position定位
    html5新增的功能。
    关于ajax的同步异步
    响应式布局由来和剖析
    jQuery的效果函数及如何运用
    jQuery的选择器
    position定位的解析与理解
    HTML5与CSS3中新增的属性详解
    对Ajax的解析
  • 原文地址:https://www.cnblogs.com/longdb/p/7259206.html
Copyright © 2020-2023  润新知