我有一个架构,其中基于任务的 UI 将命令传递给服务层。现在,我的意图是在 .NET 中使用 KendoUI 和服务层、域层等在 javascript 中实现 UI。我还在研究可能使用 Java 而不是 Javascript 的客户端的未来移动实现。
如果我在 .NET 中定义命令,我想知道如何从我的 Javascript 客户端使用它们,以便客户端可以将命令适当地传达给服务层。我是否必须为此使用 Apache Thrift 之类的东西来定义客户端和服务层的命令?
我有一个架构,其中基于任务的 UI 将命令传递给服务层。现在,我的意图是在 .NET 中使用 KendoUI 和服务层、域层等在 javascript 中实现 UI。我还在研究可能使用 Java 而不是 Javascript 的客户端的未来移动实现。
如果我在 .NET 中定义命令,我想知道如何从我的 Javascript 客户端使用它们,以便客户端可以将命令适当地传达给服务层。我是否必须为此使用 Apache Thrift 之类的东西来定义客户端和服务层的命令?
通常,使用 .NET 实现的服务层会公开为 JavaScript 与之通信的 HTTP API。HTTP API 实现可以被视为六边形架构中的适配器,它将所有请求中继到应用程序服务,进而调用域模型上的命令。
您可以使用 Thift 作为接口定义语言来声明在客户端和服务器之间流动的消息。鉴于客户端是基于 JavaScript 的,您需要 Thrift 支持的 JSON 协议。
由于您使用 .NET,请查看我写的这篇博文,它使用 t4 模板来呈现 C# 命令/查询类的 javascript 对象。这样做的好处是合约安全和代码完成
http://andersmalmgren.com/2014/02/05/typed-javascript-contracts-using-t4-templates/