策略模式 - "No Action" 行为

Strategy Pattern - "No Action" behavior

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

示例:

interface IFlyBehavior
{
    void Fly();
}

class UpperFlyBehavior : IFlyBehavior
class UglyFlyBehavior : IFlyBehavior

class 禁止飞行行为:IFlyBehavior

NoFlyBehavior 具有 Fly() 方法的空实现。

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

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