Alibaba开源框架COLA的个人心得--COLA框架各层职责

COLA框架各层职责:

1.官网定义:

1)适配层(Adapter Layer):负责对前端展示(web,wireless,wap)的路由和适配,对于传统B/S系统而言,adapter就相当于MVC中的controller;

2)应用层(Application Layer):主要负责获取输入,组装上下文,参数校验,调用领域层做业务处理,如果需要的话,发送消息通知等。层次是开放的,应用层也可以绕过领域层,直接访问基础实施层;

3)领域层(Domain Layer):主要是封装了核心业务逻辑,并通过领域服务(Domain Service)和领域对象(Domain Entity)的方法对App层提供业务实体和业务逻辑计算。领域是应用的核心,不依赖任何其他层次;

4)基础实施层(Infrastructure Layer):主要负责技术细节问题的处理,比如数据库的CRUD、搜索引擎、文件系统、分布式服务的RPC等。此外,领域防腐的重任也落在这里,外部依赖需要通过gateway的转义处理,才能被上面的App层和Domain层使用。

5)代理层(Client Layer)不是功能独立的层,而是作为COLA-framework中‘cola-common’模块的第二方库,什么意思?查看cola-common源码和xxx-client的代码,它们的类型应该是平行对应的。即‘xxx-client’包含的代码应该是常见的‘Service’的接口Facade,上下文信息‘Context’以及dto(‘ClientObject’、‘DomainObject’、‘DomainEvent’、‘Cmd’和‘Qry’)等。

Alibaba开源框架COLA的个人心得--COLA框架各层职责_第1张图片

2.简单个人理解:

1)适配层(Adapter Layer):通过Controller获取前端信息;

2)应用层(Application Layer):由Adapter层获取命令,分析并分类命令,将不同的信息传递到Domain层相应的处理体系中,调用领域层不同体系做相应业务处理;也可以直接访问Infrastructure层(直接的增删改查就是直接访问基础实施层)。

3)领域层(Domain Layer):主要是封装了核心业务逻辑,并通过领域服务(Domain Service)和领域对象(Domain Entity)的方法对App层提供业务实体和业务逻辑计算。领域是应用的核心,不依赖任何其他层次;

4)基础实施层(Infrastructure Layer):主要负责技术细节问题的处理,通过Mapper与数据库交涉;领域防腐的重任在这里,外部依赖需要通过gateway的转义处理,才能被上面的App层和Domain层使用。

5)代理层(Client Layer)为框架提供DTO以及服务的接口;

6)我们新加一个模块demo-web-tools,用于一些工具(如easyexcel)的实现,开放层次,可以被其他层次调用;

Alibaba开源框架COLA的个人心得--COLA框架各层职责_第2张图片

你可能感兴趣的:(java,spring,后端,软件框架)