我正在编写Web应用程序,为客户端公开REST接口和Web套接字。该项目与基础数据库进行交互。 UI层和整体业务逻辑作为单独的项目处理。现在,我想在此Web应用程序中应用图层。
我将Web应用程序拆分为
1. Service layer (Exposes REST and Websocket) 2. Domain layer (Handling web application's Business logic) 3. Persistance layer (DB access)
这种分离对吗?还是我应该将REST视为application layer
? application layer
又称service layer
吗?这里哪个更有意义?
答案 0 :(得分:0)
REST接口与UI属于同一层。它是与您的应用进行交互的一种方式,只是没有用户界面。我喜欢将API与UI放在一个单独的项目中,以便可以分别部署和单独缩放。理想情况下,UI将使用API进行数据访问。
话虽如此,问这个问题意味着您正在设计自己的架构模式,这不是一个好主意。我的大脑已经多次攻击并解决了这个问题,因此您应该选择一个并使用它。我发现最灵活的一种是洋葱架构(https://dzone.com/articles/onion-architecture-is-interesting),它非常适合DDD或Active Record。但是,在Onion Architecture中,事物在界面和实现之间的划分需要一定的习惯,因此,如果您决定以这种方式进行迁移,可以给自己一点额外的时间来习惯它。完成后,您将对灵活性感到满意。