战略模式 - "没有行动"行为

时间:2016-03-14 18:12:47

标签: c# design-patterns strategy-pattern

当我们使用策略模式时,实现" No Action"是一个坏主意。接口

示例:

interface IFlyBehavior
{
    void Fly();
}

class UpperFlyBehavior : IFlyBehavior
class UglyFlyBehavior : IFlyBehavior

类NoFlyBehavior:IFlyBehavior

NoFlyBehavior有一个Fly()方法的emtpy实现。

实现一个什么都不做的方法似乎有点奇怪。

1 个答案:

答案 0 :(得分:2)

没有实现版本将是null对象模式的示例。基本上就像你描述一个什么都不做的版本一样。它定义了一个没有副作用的实现,并允许您编写假定始终存在实现的代码。如果您查看C#示例here,它与您的情况非常相似。