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

public interface Command
{
  void Execute();
}

所有示例都是“AddEmployee”,“DelEmployee”,“EditEmployee”等。我是否将拥有一个名为“GetAllEmployees”的命令,或者是否有为此目的而创建的其他一些特殊“Interactor”?我正在考虑处理该特定情况的一种方式是让两个接口(interface)具有非通用的接口(interface)(如上面的接口(interface))和通用的接口(interface)(如上面的接口(interface))。
public interface Command<T>
{
  T Execute();
}

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

最佳答案

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

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

另请参见CQS和相关的CQRS

10-04 21:28
查看更多