【架构设计】阿里开源架构Cola4.0的项目实践:订单系统

2023-11-19

项目介绍

使用SpringBoot+MybaitsPlus+Cola(整洁面向对象分层架构)4.0重构订单功能

项目地址

Gitee:https://gitee.com/charles_ruan/smile-cola

Github:https://github.com/charles0719/smile-cola

项目核心API

  • 新增

POST http://localhost:8080/order/add

{
    "orderInfo": "订单1号1112",
    "orderNo": "111211",
    "description": "我是一个订单"
}
  • 修改

POST http://localhost:8080/order/edit

{
    "id": "1",
    "orderInfo": "订单1号1112",
    "orderNo": "111211",
    "description": "我是一个订单"
}
  • 访问详情

GET http://localhost:8080/order/1

  • 分页查询

POST http://localhost:8080/order/page

{
    "pageSize": 10,
    "pageIndex": 1
}

Cola架构介绍

核心组件

在这里插入图片描述

交互过程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UEXDAnov-1684299282884)(assets/README/cola-交互.png)]

COLA 规范

规范 用途 解释
xxxCO Client Object 客户对象,用于传输数据,等同于DTO
xxxCmd Client Request Cmd代表Command,表示一个写请求
xxxQuery Client Request Query,表示一个读请求
xxxCmdExe Command Executor 命令模式,每一个写请求对应一个执行器
xxxQueryExe Query Executor 命令模式,每一个读请求对应一个执行器
xxxVO Value Object 值对象
xxxEntity Entity 领域实体
xxxDO Data Object 数据对象,用于持久化
xxxInterceptor Command Interceptor 拦截器,用于处理切面逻辑
IxxxService API Service xxxServiceI 不太习惯,就把 I 放在前边吧
xxxDomainService Domain Service 需要多个领域对象协作时,使用DomainService
xxxValidator Validator 校验器,用于校验的类
xxxAssembler Assembler 组装器,DTO <—> Entity,用于Application层
xxxConvertor Convertor 转化器,Entity <—> DO,用于Infrastructure层

模块规范

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

使用COLA

COLA 开源地址: https://github.com/alibaba/COLA

安装 cola archetype
下载cola-archetypes下的源码到本地,然后本地运行mvn install安装。

安装 cola components
下载cola-components下的源码到本地,然后本地运行mvn install安装。

创建应用

mvn archetype:generate  -DgroupId=com.charles -DartifactId=smile -Dversion=1.0.0-SNAPSHOT -Dpackage=com.charles.smile -DarchetypeArtifactId=cola-framework-archetype-web -DarchetypeGroupId=com.alibaba.cola -DarchetypeVersion=4.0.0 -DarchetypeCatalog=internal

在这里插入图片描述

参考

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【架构设计】阿里开源架构Cola4.0的项目实践:订单系统 的相关文章

  • 机器学习之【蒙特卡罗法】

    机器学习之 蒙特卡罗法 一 蒙特卡罗法 二 随机抽样 三 数学期望估计 四 积分计算 五 示例 六 接受 拒绝法 七 示例 一 蒙特卡罗法 蒙 特 卡 罗 法 Monte Carlo method 也 称 为 统 计 模 拟 方 法 sta
  • Html如何引用公用的JS和CSS

    1 问题原因 项目开发几乎每个Html都会引用JS和CSS 那么就会有一些常用JS或者CSS 我们不希望每个Html文件都引用一堆文件 而是只引用公用的JS和CSS就可以了 2 解决办法 2 1定义commonJs js添加公用的JS文件引

随机推荐

  • LightingandRenderingScenes_译

    LightingandRenderingScenes 译 在这个教程中 你会学到怎样快速设置场景实现高视觉保真渲染和截图 然而这些技术的一部分是为实时体验 这些设置的一部分为实时体验可能太重表现了 你会学到怎样 1 设置和调整全球后处理体积
  • 10款Visual Studio实用插件

    目录 前言 Visual Studio插件搜索 Visual Studio插件市场 ReSharper 付费 GitHub Copilot 付费 CodeMaid 免费 CSharpier 免费 Visual Studio Theme Pa
  • 绪论、Ambari二次开发思路

    1 总体思路 1 对ambari admin ambari web模块进行单独编译 二次开发主要针对这两个模块 2 利用Brunch watch功能 对文件夹源码进行实时监控编译 提高开发效率 2 开发方向 1 参照HDP 基于Apache
  • Git安装

    1 Git官网 地址 https git scm com 下载自己需要的安装包 2 安装过程 选择安装位置 安装完成后右键 git bash here 打开
  • Unity3D实战【六】SetCursor 设置鼠标指针

    一 修改人物移动的方法 上一节使用的是将人物拖拽的方法实现人物移动 这一节我们进行修改一下 首先打开mousemanger脚本代码 单例模式 首先创建一个自身的static变量 通常取名Instance public static Mous
  • java基础知识精讲视频教程百度云盘分享!

    java基础知识精讲视频教程百度云盘分享 课程简介 本课程是由尚观科技java资深讲师讲述的java基础知识视频教程 适合零基础同学学习的Java基础视频教程 课程目录 1 java介绍 2 进制 3 标识符 4 变量二 5 类型转换 6
  • java并查集 - Kaiqisan

    大家好 都吃晚饭了吗 我是Kaiqisan 是一个已经走出社恐的一般生徒 最近被力扣的每日一题给整破防了 天天都是并查集 我麻了 所以最近都在学习并查集 现在终于搞懂了 于是有了这篇博客 文章目录 什么是并查集 代码实现 优化 代码 总结
  • 相机标定-kinectv1外参数标定(没有高度,pnp)

    1 相机镜头表面距离桌面1m 输入的图像没有内参文件 内参和畸变采用freenect包默认参数 棋盘格19 14 每一个4厘米 实际坐标为 左上角 0 0 点 水平向右为x正方向 垂直向下为y轴负方向 2 四个角点分别为 pixel poi
  • centOS 安装 elasticsearch 7.0.0和kibana7.0.0_单机版

    cd opt wget wget https artifacts elastic co downloads elasticsearch elasticsearch 7 0 0 linux x86 64 tar gz tar xzvf ela
  • Matlab 安装和使用xgboost的详细步骤(源码+安装包)

    几个重要的ref 看完后你可以解决你的问题 知乎官网指导 官网讨论 安装MinGW w64 安装需要的模块和源码可以从下面地址下载 链接 https pan baidu com s 1oqCMI7VmVxDzf9Vbaf4VJw pwd 1
  • Arduino与HX711称重传感器握手

    Arduino教程传送门 Arduino与HX711称重传感器握手 1 0 简介 2 0 实验材料 3 0 实验步骤 3 1 根据原理图搭建电路 3 2 新建sketch 拷贝如下代码并进行保存编译上传 3 3 实验现象 4 0 总结 1
  • python基础(更新中)

    文章目录 print函数 数据类型 基本类型 数据拼接 数据转换 条件判断 标识符 关键字 注释 使用帮助 运算符 转义字符 三重引号字符串 字符串格式化 符号格式化字符串 字符串格式的书写 常用格式字符的含义 format 方法格式化字符
  • python loop详解_Python进阶学习笔记(3)-Loop

    while 语法结构 用 隔开 while condition expression x 1 while x lt 4 print x x x 1 Initialize offset offset 8 Code the while loop
  • 硬件基础之电容篇

    一 技术理论 1 电容定义 两个相互靠近的金属板中间夹一层绝缘介质组成的器件 当两端存在电势差时 由于介质阻碍了电荷移动而积累在金属板上 衡量金属板上储存电荷的能力 称为电容 相应的器件称为电容器 电容的符号为C 单位为法拉 F 电容越大
  • 宝塔面板设置域名后无法访问

    设置域名前 需要先备案通过 并解析到宝塔面板的服务器上面才能访问 然后没有做上面相关的时候 设置了域名导致不能访问 解决方式如下 删除域名配置 删除该配置即可 rm f www server panel data domain conf 然
  • HADOOP集群搭建

    1首先新建文件夹路径 root hdp01 home mkdir p home hadoop apps 2修改主机名 vi etc sysconfig network 3配置内网域名映射 vi etc hosts 4配置ssh免密登陆 1在
  • 伴随矩阵及其运算

    关键公式 A B A B
  • mysql jdbc url连接超时_JDBC链接出现超时问题

    今日线上突发一个问题 应用假死 不接受http请求 排查日志 发现有大量的 The last packet successfully received from 异常 首先排查数据库和链接池配置 destroy method close g
  • 利用OpenCV实现软件自动识别核酸检测时间

    文章目录 问题介绍 一 前期准备工作 1 Python的安装 2 安装OpenCV Python开发包 3 安装Tesseract OCR 二 编写程序 1 引入库 2 使用Tesseract做文字识别 OCR 3 筛选日期 4 日期运算
  • 【架构设计】阿里开源架构Cola4.0的项目实践:订单系统

    项目介绍 使用SpringBoot MybaitsPlus Cola 整洁面向对象分层架构 4 0重构订单功能 项目地址 Gitee https gitee com charles ruan smile cola Github https