前端领域模型

Cod*_*ogi 5 javascript architecture domain-driven-design web

我最近一直在阅读域驱动设计,但我很少在 web 应用程序中看到它(或者我可能没有 google 它),我认为我们现在也有足够的复杂性来处理 web 应用程序。

我需要一种方法来保持我的模型和业务逻辑干净、耦合最少、与框架/库无关。例如,今天我使用的是 AngularJS,明天我可能会将 UI 切换到 ReactJS。

话虽如此,我正试图通过一个简单的例子来学习这一点。假设我正在尝试创建具有以下功能的 Quote 应用程序:

给出报价

  1. 可以投赞成票/反对票。
  2. 可以加星。
  3. 可由用户创建(进入审查队列)。
  4. 用户可以通过(Twitter、Facebook 等)分享它。

给定一个用户

未登录时:

  1. 可以看到随机报价。
  2. 可以对报价投赞成票/反对票。
  3. 可以按标题或作者搜索引文。

登录时:

  1. 可以创建报价。
  2. 可以为报价加注星标。

我对如何在保持 UI 和业务逻辑清洁和分离方面实现上述要求感兴趣。

我不是专家,但目前我可以满足这些要求,这些要求将来可能会发生变化。

all*_*tej 1

您应该在前端和后端(服务器端)实现 MVC 模式。为了清晰地分离职责以及团队资源/专业知识(API 开发人员、UI 开发人员),您可以通过 REST API 公开业务逻辑,并使用各种客户端技术(例如 Angular、Cordova、React 等)进行 UI 开发。

UI 开发人员应该能够在没有 API 的情况下进行独立开发。他们必须创建自己的模型、视图和控制器(MVC)。同样,API 开发人员应该能够开发业务领域并公开业务或通用语言所需的必要操作(例如 CRUD)。API 层将有自己的模型、视图和控制器。