当前位置: 首页 > news >正文

一图看懂架构划分原则:技术划分 OR 领域划分?

架构划分原则

在这里插入图片描述

技术划分

  • 描述: 按技术用途组织系统组件
  • 典型示例: 分层(多层)架构
    • 组件按技术层组织
      • 用户界面: 与用户直接交互的部分
      • 业务规则和核心处理: 逻辑和算法
      • 与数据库交互: 数据存取和查询
      • 数据库层: 数据存储和管理
  • 优点:
    • 当大部分更改与技术层次对齐时适用
  • 缺点:
    • 域更改可能涉及多个层
  • 示例:
    • 分层架构: 多层次的技术组织
    • 微内核架构: 核心与插件分离
    • 管道架构: 数据流驱动
    • 事件驱动架构: 响应事件变化
    • 基于空间的架构: 数据在空间中分布

领域划分

  • 描述: 按域区域组织组件
  • 优点:
    • 更改集中于特定系统区域
    • 维护、测试和部署风险较低
  • 域驱动设计:
    • 强调域的设计
    • 与域专家紧密合作
    • 开发与域功能相似的软件
  • 示例:
    • 微内核架构: 核心与插件分离
    • 微服务架构: 小型、独立的服务
    • 模块化单体架构: 单体应用内的模块化
    • 基于服务的架构: 服务为中心

如何选择?

  • 技术划分适用性:
    • 团队结构与技术用途区域对齐
    • 预期的大部分更改与技术层次对齐
  • 域划分适用性:
    • 使用域驱动设计方法
    • 团队为跨功能团队
    • 预期的大部分更改为域范围
  • 注意事项:
    • 技术层次的大量更改可能在域划分中更困难
http://www.lryc.cn/news/144526.html

相关文章:

  • 从零开始的Hadoop学习(二)| Hadoop介绍、优势、组成、HDFS架构
  • 问道管理:逾4600股飘红!汽车板块爆了,多股冲击涨停!
  • Java 语言实现选择排序算法
  • 【C语言每日一题】05. 输出保留12位小数的浮点数
  • 科大讯飞永久免费GPT入口来了!!!
  • 亚马逊反馈和评论的区别
  • Linux 查看当前文件夹下的文件大小
  • 玩转 PI 系列-看起来像服务器的 ARM 开发板矩阵-Firefly Cluster Server
  • 《Flink学习笔记》——第六章 Flink的时间和窗口
  • nano主板扩大swap交换交换空间大小 /windows里远程传输文件/ssh远程登陆访问GUI界面报错
  • 7个用于机器学习和数据科学的基本 Python 库
  • Kafka 简介 + 学习笔记
  • Mybatis小记
  • 如何向BertModel增加字符
  • copilot切换下一条提示的快捷键
  • Mongodb 删除文档Delete与Remove的区别
  • Docker 的基本概念和优势
  • 基于 xhr 实现 axios
  • 基于面向对象的大模型代码生成
  • 易云维®FMCS厂务系统创造工厂全新的“数字低碳智能”应用场景
  • 【Linux应用部署篇】在CSDN云IDE平台部署Etherpad文档编辑器
  • 基于java swing和mysql实现的汽车租赁管理系统(源码+数据库+文档+运行指导视频)
  • Rigs-of-rods安装
  • html学习第2篇---标签(1)
  • 爬虫逆向实战(二十四)--某鸟记录中心
  • 【操作系统】中断和异常
  • 锁策略、原子编程CAS 和 synchronized 优化过程
  • 【WINAPI】文件读写操作问题
  • 【LeetCode-中等题】148. 排序链表
  • Ceph EC pg backfill run