策略模式 - "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,它与您的情况非常相似。
当我们使用策略模式时,实现一个 "No Action" 接口是个坏主意吗?
示例:
interface IFlyBehavior
{
void Fly();
}
class UpperFlyBehavior : IFlyBehavior
class UglyFlyBehavior : IFlyBehavior
class 禁止飞行行为:IFlyBehavior
NoFlyBehavior 具有 Fly() 方法的空实现。
实现一个什么都不做的方法似乎有点奇怪。
无实现版本将是空对象模式的示例。基本上就像你描述的一个什么都不做的版本。它定义了一个没有副作用的实现,并允许您编写假定总会有一个实现的代码。如果您查看 C# 示例 here,它与您的情况非常相似。