敏捷软件开发中的架构、XP 与特性驱动开发
1. 优秀架构的特征
明确什么是优秀的架构相对容易,但真正构建出优秀架构却并非易事。在很多情况下,难以同时将以下所有特性发挥到极致。不过,这些特性是软件架构师在开发架构时应牢记的指导原则:
- 弹性 :架构应具备对变更的弹性。即功能的变更或新增功能对架构的影响应降至最低(尽管可能对设计产生重大影响)。因此,子系统应具有清晰明确的接口。实际上,架构师首先要做的就是确定架构内将使用的接口,然后确定实现这些接口的子系统等。
- 简单性 :架构应简洁。一般来说,架构的规模应仅占整体设计的约 10%,并且应能独立且完整地被理解。避免无端使架构变得复杂。
- 呈现清晰 :架构不仅是后续设计的基础参考,也是系统未来迭代的依据,因此应易于获取且无歧义(这一点非常重要!),避免假设当前项目知识。
- 关注点分离 :架构应清晰地分离系统的不同方面。例如,对于房屋而言,水管工可能除了与自身工作相关的部分外,并不想了解房屋的布线情况。因此,水管工的规划不应包含过多房屋布线的细节。
- 责任均衡分配 :子系统的责任应适当且均衡。也就是说,如果确定一个子系统负责处理通用应用程序安全,就不应再让它负责用户登录。相反,应提供一个用户登录子系统(该子系统可能会使用安全子系统)。
- 平衡经济和技术约束 :架构可能需要解释为何选择一种方法而非另一种方法,部分原因是向参与设计不同方面的人员说明整体选择。这很重要,因为它可能会对设计
超级会员免费看
订阅专栏 解锁全文
73

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



