zoukankan      html  css  js  c++  java
  • DDD开源COLA应用架构-实现分离业务逻辑和技术细节

    COLA(Clean Object-oriented & Layered Architecture)架构是阿里团队自主研发的应用架构,目前已经开源( https://github.com/alibaba/COLA )。
    在COLA的设计中,充分汲取了经典架构的优秀思想。除此之外,阿里补充了规范设计和扩展设计,并且使用Archetype的方式,将架构固化下来,以便可以快速地在开发中使用。
     
     
    分层设计(Layered Architecture)
    COLA的分层是一种改良了的三层架构。主要是将传统的业务逻辑层拆分成应用层、领域层和基础实施层。如下图所示,左边是传统的分层架构,右边是COLA的分层架构。
     
    其每一层的作用范围和含义如下:
    1)展现层(Presentation Layer):负责以REST的格式接受Web请求,然后将请求路由给Application层执行,并返回视图模型(View Model),其载体通常是DTO(Data Transfer Object);
     
    2)应用层(Application Layer):主要负责获取输入,组装上下文,做输入校验,调用领域层做业务处理,如果需要的话,发送消息通知。当然,层次是开放的,若有需要,应用层也可以直接访问基础实施层;
     
    3)领域层(Domain Layer):主要是封装了核心业务逻辑,并通过领域服务(Domain Service)和领域实体(Entities)的函数对外部提供业务逻辑的计算和处理;
     
    4)基础实施层(Infrastructure Layer)主要包含Tunnel(数据通道)、Config和Common。这里阿里使用Tunnel这个概念来对所有的数据来源进行抽象,这些数据来源可以是数据库(MySQL,NoSql)、搜索引擎、文件系统、也可以是SOA服务等;Config负责应用的配置;Common是通用的工具类。
     
  • 相关阅读:
    BCP及自增标识列
    DAC重置max server memory
    登录名与用户名
    重复执行同一命令
    利用DBCC PAGE查看SQL Server中的表和索引数据
    索引约束
    JS高级程序设计笔记一
    div滚动底部加载li,window滚动底部加载li
    懂,才是最好的爱
    CSS3混合模式mix-blend-mode/background-blend-mode简介 ,PS中叠加效果
  • 原文地址:https://www.cnblogs.com/rickie/p/15067729.html
Copyright © 2011-2022 走看看