【问题标题】:CQRS, Commands, JavascriptCQRS、命令、Javascript
【发布时间】:2014-12-23 18:10:02
【问题描述】:

我有一个架构,其中基于任务的 UI 将命令传递给服务层。现在,我的意图是在 .NET 中使用 KendoUI 和服务层、域层等在 javascript 中实现 UI。我还在研究可能使用 Java 而不是 Javascript 的客户端的未来移动实现。

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

【问题讨论】:

  • 是的,你可以。但请注意,您作为 dto 从服务器发送到 UI 的命令并不总是与您将从 UI 发送回服务器的命令相同。第一个是页面/UC/...的模型,而第二个是您尝试执行的操作。

标签: javascript kendo-ui cqrs


【解决方案1】:

由于您使用 .NET,请查看我写的这篇博文,它使用 t4 模板来呈现 C# 命令/查询类的 javascript 对象。这样做的好处是合约安全和代码完成

http://andersmalmgren.com/2014/02/05/typed-javascript-contracts-using-t4-templates/

【讨论】:

  • 我接受这个作为答案,但我现在在客户端使用 TypeScript,并生成相应的 typescript /ES6 类作为构建作业的一部分。
【解决方案2】:

通常,使用 .NET 实现的服务层会公开为与 JavaScript 通信的 HTTP API。 HTTP API 实现可以被视为hexagonal architecture 中的适配器,它将所有请求中继到应用程序服务,进而调用域模型上的命令。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-31
    • 2017-09-11
    • 2020-11-09
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    相关资源
    最近更新 更多