当我们使用策略模式时,实现“无操作”接口是一个坏主意吗?
例:
interface IFlyBehavior
{
void Fly();
}
class UpperFlyBehavior : IFlyBehavior
class UglyFlyBehavior : IFlyBehavior
类别NoFlyBehavior:IFlyBehavior
NoFlyBehavior具有Fly()方法的空实现。
具有不执行任何操作的方法的实现似乎有些奇怪。
最佳答案
没有实现的版本将是空对象模式的示例。基本上与您描述的什么都不做的版本完全相同。它定义了没有副作用的实现,并且允许您编写假定始终存在实现的代码。如果您查看C#示例here,则与您的情况非常相似。