【基础】领域模型概念基本介绍

1、基础设施

api

utils

2、service  服务

3、business  业务

4、const 常量

5、state  状态

6、domain 

  service  各个 Domain 下的基础功能业务

  repository 某一个独立 Domain 下的获取数据的业务

  model

 7、common

  helper

  model

  cache

  compass

  env

  jsbridge

  net

 

视图数据  业务数据  逻辑数据

左 视图数据 右逻辑数据

业务逻辑  

 

Application 发起 service 请求 获取领域对象  校验通过  更新用户状态  持久化

  • Application:应用层,负责领域逻辑的封装。主要角色:ApplicationService、CommandHandler。
  • Boostrap:启动管理层,负责启动过程管理,如:注册Ioc、初始化配置。主要角色:BootstrapListener。
  • Commands:命令层,是一个契约层。主要角色:Comamnd、DTO。
  • Controllers:控制器层,边界层。主要角色:Controller。
  • Domain:领域层,负责领域逻辑的组织。主要角色:Aggregate、Entity、ValueObject、Factory、DomainService、IRepository、IUnitOfWork。
  • Events:事件层,是一个契约层,跨聚合流程可以采用。主要角色:Event。
  • EventSubscribers:事件监听层。主要角色:EventSubscriber。
  • Infrastructure:基础设施层。主要角色:Repository、QueryService、UnitOfWork。
  • Query:查询层,为UI的查询提供服务,主要角色:QueryService。

项目整体采用简单的CQRS架构,Command端采用DDD组织,Query直接从数据库返回dynamic类型。Event可以用来处理跨聚合通信,也可以用来处理长事务或离线事务。

 

posted @ 2018-06-04 21:19  五艺  阅读(297)  评论(0编辑  收藏  举报