CQRS、命令、Javascript

CQRS、命令、Javascript,javascript,kendo-ui,cqrs,Javascript,Kendo Ui,Cqrs,我有一个体系结构,其中基于任务的UI将命令传递给服务层。现在,我打算用javascript实现UI,使用KendoUI和.NET中的服务层、域层等。我还研究了客户端的未来移动实现,比如说Java,而不是Javascript 如果我在.NET中定义这些命令,我想知道如何从Javascript客户端使用它们,以便客户端可以将这些命令适当地传递给服务层。为此,我是否必须使用Apache Thrift之类的工具,即在客户端和服务层定义命令?通常,使用.NET cab实现的服务层可以公开为一个HTTP A

我有一个体系结构,其中基于任务的UI将命令传递给服务层。现在,我打算用javascript实现UI,使用KendoUI和.NET中的服务层、域层等。我还研究了客户端的未来移动实现,比如说Java,而不是Javascript


如果我在.NET中定义这些命令,我想知道如何从Javascript客户端使用它们,以便客户端可以将这些命令适当地传递给服务层。为此,我是否必须使用Apache Thrift之类的工具,即在客户端和服务层定义命令?

通常,使用.NET cab实现的服务层可以公开为一个HTTP API,JavaScript可以与之通信。HTTP API实现可以看作是一个适配器,它将所有请求中继到应用程序服务,应用程序服务反过来调用域模型上的命令


您可以使用Thift作为接口定义语言来声明在客户端和服务器之间流动的消息。鉴于客户端是基于JavaScript的,您可能希望使用Thrift支持的JSON协议。

既然您使用.NET查看了我写的这篇博文,它使用t4模板呈现C#Command/Query类的JavaScript对象。这样做的好处是合同安全和代码完成


是的,你可以。但是要注意,作为dto从服务器发送到UI的命令并不总是与从UI发送回服务器的命令相同。第一个是页面/UC/…的模型,而第二个是您试图执行的操作。我接受这一点作为答案,但我现在在客户端上使用TypeScript,并生成相应的TypeScript/ES6类作为构建作业的一部分。