Cola4.0 - DDD 设计思想
cola前言COLA提供了一整套代码架构,拿来即用。 其中包含了很多架构设计思想,包括讨论度很高的领域驱动设计DDD等。
COLA 的分层是一种经过改良的三层架构,主要是讲传统的业务逻辑层拆分为展示层、应用层、领域层和基础设施层。
[*]展示层(Presentation Layer):负责以 Rest 的风格接收 Web 请求,然后将请求路由给 Application 层执行,并返回视图模型(View Model),其载体通常是数据传输对象(Data Transfer Object, DTO);
[*]应用层(Application Layer):主要负责获取输入、组装上下文、做输入校验、调用领域层做业务处理,当需要时发送消息通知。当然,层次是开放的,若有需要,应用层也可以直接访问基础设施层;
[*]领域层(Domain Layer):主要封装了核心业务逻辑, 并通过领域服务(Domaini Service)和领域对象(Entities)的函数对外部提供业务逻辑的计算和处理;
[*]基础设施层(Infrastructure Layer):主要包含数据访问通道(Tunnel)、Config 和 Comon。这里Tunnel这个概念对所有的数据来源进行抽象,数据来源可以是数据库(MySQL/NoSQL)、搜索引擎、文件系统,也可以是SOA服务等;Config 负责应用的配置;Common是通用的工具类;
cola组件规范
分层架构图
cola包结构
应用层的包结构
领域层的包结构
基础设施层的包结构
命名规范
在COLA架构中,制定了一系列的命名规范,以便通过名称就能知晓该类的作用和职责范围,从而极大的提升代码的可理解性,提升代码审查的效率
规范用途解释xxxCmd.javaClient RequestCmd代表Command,表示一个用户请求xxxCo.javaClient Object客户端对象,用于传递数据,等同于DTOxxxServiceI.javaAPI ServiceAPI接口类xxxCmdExe.javaCommand Executor命令模式,每一个用户请求对应的一个执行器xxInterceptor.javaCommand Interceptor拦截器,用于处理切面逻辑xxxExtPt.javaExtension Point扩展点xxxExt.javaExtension扩展实现xxxValidator.javaValidator校验器,用于校验的类ConvertorConvertor转化器,实现不同层级对象互转xxxAssembler.javaAssembler组装器,组装外部服务调用参数xxxE.javaEntity代表领域实体xxxV.javaValue Ojbect代码值对象xxxRepository.javaRepository仓储接口xxxDomainService.javaDomain Service领域服务xxxDo.javaData Object数据对象,用于持久化xxxTunnel.javaData Tunnel数据通道,DAO 是最常见的通道,也可是其他通道xxxConstant.javaConstant class常量类xxxConfig.javaConfiguration clas配置类xxxUtil.javaUtility class工具类
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]