6

我正在开发一个应用程序并尝试遵循 Robert C. Martin 的 SOLID 原则。我正在使用命令模式,我想知道实现。在他在 C# 中的清洁代码和敏捷原则、模式和实践中的所有示例中,他的命令对象从不返回任何内容。他的命令界面是;

public interface Command
{
  void Execute();
}

所有示例都是“AddEmployee”、“DelEmployee”、“EditEmployee”等。我是否有一个“GetAllEmployees”命令,或者是否有一些其他特殊的“Interactor”我会为此特定目的创建?我正在考虑处理该特定情况的一种方法是拥有两个接口,一个像上面那样的非通用接口和一个像这样的通用接口;

public interface Command<T>
{
  T Execute();
}

我要问的是,这将是这种模式的可接受实现,还是我们可以从应用程序访问数据的另一种方式?

4

1 回答 1

5

命令是改变状态(更新、删除或添加)的东西。

获取数据(而不是更改数据)时,您将使用查询

另请参阅CQS和相关的CQRS

于 2012-10-09T15:32:35.503 回答