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

软件复用的分类与实现

复用的分类

复用的形式可以分为技术复用和业务复用两大类。技术复用包括代码复用和技术组件复用;业务复用包括业务实体复用、业务流程复用和产品复用。从复用的程度来看,从高到低依次划分为产品复用、业务流程复用、业务实体复用、组件复用、代码复用。

技术复用

代码级复用是最低层次的复用,包括类库、第三方SDK和算法封装。代码级复用通常与应用程序打包在一起,运行在同一进程内。

技术组件复用包括开源中间件和开发框架,如Redis、MQ、Dubbo和Spring Cloud。这些组件简化了开发工作,但复用价值相对较低,因为它们与业务场景的关联性较弱。

业务复用

业务实体复用针对细分业务领域,如订单、商品、用户等。它封装业务数据和规则,提供可直接使用的业务组件。

业务流程复用针对业务场景,串联多个业务实体完成端到端任务。例如,下单流程封装会员、商品、订单、库存等业务实体的调用逻辑,提供更高层次的复用。

产品级复用是对整个系统的复用,如SaaS或PaaS平台。这类系统通过参数配置或插件化支持实现高度复用,但实现难度较大,需要全面的业务理解和抽象设计能力。

基础服务边界划分

完整性原则
确保服务内部数据的完整性和功能的完整性。服务应封装完整的业务规则,提供完整的业务语义,避免成为简单的数据访问通道。

一致性原则
服务的数据和职责应一致。功能划分应基于其所依赖的数据,避免业务规则与数据的脱节。例如,促销服务负责优惠计算,订单服务负责优惠结果的存储和查询。

正交原则
基础服务之间应避免调用关系,保持正交性。即使存在数据依赖,也应通过上层聚合服务实现功能组合,而非直接调用。

冗余存储的思考

冗余存储其他服务的数据可以提高查询性能,减少跨服务调用,但需考虑数据一致性问题。通过事件驱动或定时同步机制确保冗余数据的准确性。权衡性能与一致性,选择适合业务场景的方案。

http://www.cnnetsun.cn/news/42589.html

相关文章:

  • google服务
  • 进程PCB
  • 实战教程:1小时掌握逆向Unity游戏 (共13课时)
  • [从零构建操作系统]08 函数调用时栈的底层行为解析
  • 力扣hot100:搜索插入位置
  • Java冷启动全指南:从原理到实战优化
  • 测试 - 单元测试(JUnit)
  • C++中多态
  • c++经典练习题-多分支
  • qt为什么转向用cmake放弃qmake
  • 云屋音视频 SDK 凭何成为信创技术困局的 “破局者”?
  • 纯电动汽车动力经济性仿真:Cruise与Simulink联合仿真(2015版),包含BMS、再...
  • 【怎么理解maven中的镜像和仓库?】
  • comsol枝晶生长,沉积模型,包括:典型,形状成核,随机成核,均匀沉积,雪花晶形成过程。 适...
  • 终极指南:Qwen3-30B-A3B多GPU分布式推理完整解决方案
  • 腾讯混元语音驱动数字人技术:重塑动态视频生成新范式
  • 【MicroPython编程-ESP32篇】-Web页面显示DHT11传感器数据
  • DCDC电池模型:基于Matlab 2018b及以上的应用
  • Day 38 - Dataset 和 DataLoader
  • [C#][winform]基于yolov11的打架行为检测系统C#源码+onnx模型+评估指标曲线+精美GUI界面
  • 2022年TRC SCI1区TOP,基于随机分形搜索算法的多无人机四维航迹优化自适应冲突消解方法,深度解析+性能实测
  • 《智能世界2035》——华为预测十年以后智能世界的模样
  • FLAC3D随机裂隙建模:从基础到复杂网络
  • 终极指南:TUnit服务虚拟化测试实践
  • 速读顶会论文:GoodSpeed - 让分布式LLM推理既快又公平的自适应推测解码框架
  • 基于MATLAB的零件表面缺陷检测系统设计与实现
  • c++类和对象(上)
  • Windows11中使用VS2022编译运行libevent网络库
  • wgpu实例化渲染技术深度解析:从性能瓶颈到GPU并行计算优化
  • 构建下一代实时语音处理框架:dora-rs架构深度解析