首页 > 学院 > 开发设计 > 正文

用最简单的例子理解策略模式(Strategy Pattern)

2019-11-17 02:54:45
字体:
来源:转载
供稿:网友

用最简单的例子理解策略模式(Strategy Pattern)

当一个动作有多种实现方法,在实际使用时,需要根据不同情况选择某个方法执行动作,就可以考虑使用策略模式。

把动作抽象成接口,比如把玩球抽象成接口。

    public interface IBall
    {
        void Play();
    }

有可能是玩足球、篮球、排球等,把这些球类抽象成实现接口的类。

    public class Football : IBall
    {
        public void Play()
        {
            Console.WriteLine("我喜欢足球");
        }
    }
    public class Basketball : IBall
    {
        public void Play()
        {
            Console.WriteLine("我喜欢篮球");
        }
    }
    public class Volleyball : IBall
    {
        public void Play()
        {
            Console.WriteLine("我喜欢排球");
        }
    }   

还有一个类专门用来选择哪种球类,并执行接口方法。

    public class SportsMan
    {
        PRivate IBall ball;
        public void SetHobby(IBall myBall)
        {
            ball = myBall;
        }
        public void StartPlay()
        {
            ball.Play();
        }
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表