news 2026/6/12 15:54:52

软件复用的分类与实现

作者头像

张小明

前端开发工程师

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

复用的分类

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

技术复用

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

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

业务复用

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

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

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

基础服务边界划分

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

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

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

冗余存储的思考

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

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

【高可用系统架构】

系统高可用实现手段 冗余与无单点设计 部署关键节点时避免单点故障,例如负载均衡采用双节点Keepalived方案(如Nginx/HAProxy/LVS),通过虚拟IP实现故障自动切换。网络通信配置多线路(如移动电信双线)&#x…

作者头像 李华
网站建设 2026/6/10 5:14:43

高频软件测试基础面试题

在软件测试的面试过程中,面试官会问些基础的软件测试知识,下面为大家整理了一些高频软件测试面试必备的基础题,拿走不谢~ 一、什么是软件测试 为了发现程序中的错误而执行程序的过程。 二、软件测试的原则 1、完全测试程序是不可能的 2、…

作者头像 李华
网站建设 2026/6/10 18:29:39

如何准确判断json文件并且拿到我想要的信息

写在前面,自从发现拿到json解析后的文件中有我们想要的信息后,我稍微有点迷上这种方法,但是拿到内容后要怎么拿到想要的信息呢,字典列表相互嵌套,我头都晕了方法:首先就是把json解析后的文本保存成.json的形…

作者头像 李华
网站建设 2026/6/12 10:35:23

C++进阶技巧:如何在同一对象中存储左值或右值

一、背景C 代码似乎经常出现一个问题:如果该值可以来自左值或右值,则对象如何跟踪该值?即如果保留该值作为引用,那么就无法绑定到临时对象。如果将其保留为一个值,那么当它从左值初始化时,会产生不必要的副…

作者头像 李华
网站建设 2026/5/30 20:07:24

【Arduino Uno】数码管模拟值实验

目录 一.1位数码管模拟值1.共阳极数码管实验效果2.共阳极与共阴极数码管原理与构造数码管内部构造 3.需要的组件4.共阳极数码管接线图5.共阳极代码阳极代码调换为阴极 6.优化代码补充说明 7.总结 一.1位数码管模拟值 1.共阳极数码管实验效果 数码管模拟值实验共阳极2.共阳极与…

作者头像 李华