news 2026/3/13 13:32:38

软件复用的分类与实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
软件复用的分类与实现

复用的分类

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

技术复用

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

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

业务复用

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

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

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

基础服务边界划分

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

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

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

冗余存储的思考

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/12 22:46:37

【系统微服务化】

微服务化改造的关键步骤 圈定服务边界与数据表 确定微服务包含哪些数据表是改造的第一步。库存服务涉及15张表,包括自营库存表、商家虚拟库存表等。这些表与商品基本信息表关联较弱,便于独立拆分。业务架构师和数据架构师需深入分析业务场景和表关系&…

作者头像 李华
网站建设 2026/3/13 0:28:25

高可用架构(一)

高可用架构改造要点总结 针对小程序点餐平台的高并发场景(10万QPS、500万日订单、99.99%可用性),以下是关键改造措施: 前端接入优化CDN加速静态资源 商品图片等静态数据通过多地CDN节点分发,减少服务端负载。Nginx集群…

作者头像 李华
网站建设 2026/3/12 14:27:04

终极指南:如何为泉盛UV-K5对讲机刷入开源固件实现专业功能

终极指南:如何为泉盛UV-K5对讲机刷入开源固件实现专业功能 【免费下载链接】uv-k5-firmware-custom This is a fork of Egzumer https://github.com/egzumer/uv-k5-firmware-custom 项目地址: https://gitcode.com/gh_mirrors/uvk/uv-k5-firmware-custom 想要…

作者头像 李华
网站建设 2026/3/13 0:39:44

豆包手机AI Agent技术深度解析

系统架构与实现原理 章节介绍 本章节深入剖析豆包手机AI Agent的技术实现细节,从系统进程、权限管理到推理架构,揭示了移动端AI自动化操作的核心机制。通过对autoaction、aikernel等关键进程的分析,我们了解到豆包手机如何通过底层系统权限…

作者头像 李华
网站建设 2026/3/12 22:46:46

在 C++ 中轻松实现字符串与字符数组的相互转换

一、将字符串转换为 char 数组C 提供了以下将字符串转换为 char 数组的技术:使用 c_str()和 strcpy() 函数。使用 for 循环。1.1、C 中的 c_str()和 strcpy()函数C 函数c_str()以及 C 字符串函数strcpy()可用于轻松地将字符串转换为字符数组。c_str()方法表示字符串…

作者头像 李华
网站建设 2026/3/12 22:46:47

基于 STM32 的太阳能 MPPT 充电控制器设计

摘要针对传统太阳能充电控制器充电效率低、无法自适应光照和负载变化的问题,设计了一款基于 STM32 单片机的最大功率点跟踪(MPPT)太阳能充电控制器。该系统以 STM32F103C8T6 为核心控制单元,结合电压电流采样电路、DC-DC 变换电路…

作者头像 李华