软件架构基础 : 你的架构需要考虑到的特性

本文探讨了软件架构师在设计过程中需要考虑的架构特性,包括运行、结构和交叉特性,并强调了权衡不同特性的重要性。架构特性不仅包括性能、可扩展性和安全性,也涉及代码结构和质量。架构师需要在满足众多需求的同时,找到最佳的设计平衡点,避免设计过于复杂。
摘要由CSDN通过智能技术生成

一个公司决定用软件解决一个特定的问题的时候,公司会去收集该软件的需求清单。需求可以说是软件开发的基础,但除了需求以外,架构师有很多因素需要去考虑。

下图在第 1 章出现过:

架构师可能会参与收集需求,但架构师一个关键的职责是要发现、定义其它和具体需求没有直接关系的东西,这些东西称之为架构特性(architectural characteristics)。

一个架构特性满足三个标准:

  • 指定了一个非领域(业务)设计的考虑因素:例如,一 个重要的架构特性是应用程序的性能水平,而这一点往往不会出现在需求文档中 ;

  • 影响结构上的设计:这个架构特性是否需要特殊的结构才能成功?例如,考虑要支持支付功能的系统,可以选择第三方支付(只需要符合安全即可嵌入),还是应用自己处理支付(这需要设计特定的支付模块),这将导致不同的架构设计;

  • 对应用的成功至关重要:应用程序可以支持大量的架构特性,但每个架构特性的支持都会增加设计的复杂性,因此,架构师的一项工作是 选择最少的架构特性 ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值