设计模式:策略模式

策略模式

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

客户端程序可以选择这些不同的算法。或在某中情况下,由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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值