软件开发转型:从混乱到有序的实践指南
在软件开发的旅程中,我们常常会遇到各种复杂的系统,这些系统可能就像一个“大泥球”,难以维护和改进。本文将探讨如何在现有系统中应用新的理念,逐步将混乱的系统转变为有序、高效的架构。
1. 明确目标,逐步改进
当面对一个复杂的系统时,首先要明确想要解决的问题。是软件难以更改?性能无法接受?还是存在难以解释的错误?明确目标有助于确定工作的优先级,并向团队其他成员清晰地传达工作的原因。
在商业环境中,只要工程师能够合理地说明修复问题的必要性,企业通常会对技术债务和重构采取务实的态度。将复杂的系统变更与功能开发相结合,是推动架构改进的好时机。例如,在推出新产品或开拓新市场时,可以投入工程资源来修复系统的基础架构,这被称为“架构税”。
2. 分离纠缠的职责
一个“大泥球”系统的主要特征是同质性,即系统的各个部分看起来都一样,因为每个组件的职责不明确。为了解决这个问题,需要开始分离职责并引入清晰的边界。构建服务层是一个很好的起点。
以一个协作系统为例,逻辑分散在网页、管理器对象、辅助函数、服务类和命令对象中,导致系统难以理解和维护。我们可以通过以下步骤来分离职责:
1. 确定用例 :明确系统的用例,每个用例应该有一个明确的命令式名称,如“应用计费”、“清理废弃账户”等。
2. 创建用例函数或类 :为每个支持的操作创建一个单一的函数或类,负责协调工作。每个用例应完成以下任务:
- 如果需要,启动自己的数据库事务。
- 获取所需的数据。
- 检查任何前置条件。
-
超级会员免费看
订阅专栏 解锁全文
1190

被折叠的 条评论
为什么被折叠?



