设计模式:策略模式

来源:互联网 发布:2k18奥尼尔捏脸数据 编辑:程序博客网 时间:2024/05/29 11:44

策略模式

策略模式 在框架方面与状态模式很相似,意图却略有不同。

客户端程序可以选择这些不同的算法。或在某中情况下,由Content来为你选择最合适的算法。该模式的目的是使得这些算法之间互换、并提供一种选择最合适算法的方式。

它可以相同的方式调用所有的算法。减少各种算法类与使用算法类之间的耦合

namespace Assets.StrategyPattern{    /// <summary>抽象的算法类</summary>    public abstract class Strategy    {        /// <summary>算法方法</summary>        public abstract void AlgorithmInterface();    }}namespace Assets.StrategyPattern{    class Content    {        /// <summary>策略对象</summary>        private Strategy strategy;        /// <summary>初始化策略对象</summary>        /// <param name="sta">策略对象参数</param>        public Content(Strategy sta)        {            this.strategy = sta;        }        /// <summary>接口.具体的策略对象,调用其具体的策略算法与方法</summary>        public void ContentInterface()        {            strategy.AlgorithmInterface();        }    }}namespace Assets.StrategyPattern{    /// <summary>封装了具体的算法行为,继承抽象算法类</summary>    class A : Strategy    {        /// <summary>算法的具体实现</summary>        public override void AlgorithmInterface()        {            Debug.Log("A");        }    }}namespace Assets.StrategyPattern{    /// <summary>封装了具体的算法行为,继承抽象算法类</summary>    class B : Strategy    {        /// <summary>算法的具体实现</summary>        public override void AlgorithmInterface()        {            Debug.Log("B");        }    }}

Unity代码包下载 密码:cijw

0 0
原创粉丝点击