软件架构设计三原则

软件架构,是一个系统在其组件层面的基本组织结构表现,包括系统内部组件之间的关系、组件与外部的关系以及决定其设计和演进的原则。架构即决策,需要面向业务需求,并在各种资源(人、财、物、时、事)约束条件下去做权衡、取舍。以下是软件架构设计中常用的三个原则,运用时需要结合业务系统的实际情况综合考虑。

1 合适原则

架构无优劣,但存合适性。架构一定要匹配企业所在的业务阶段,不要随波逐流,一味地模仿照搬业界高大上的架构不等于适用,削足适履与打肿充胖都不符合合适原则。所谓合适,一定要匹配业务所处阶段,能够合理地将资源整合在一起并发挥出最大功效,并能够快速落地,满足业务需求。

2 简单原则

面对系统结构、业务逻辑和复杂性,我们可以编写出复杂的系统,但在软件领域,复杂代表的是“问题”。架构设计时需要识别业务系统的复杂度,目的就是为了解决业务系统的复杂性,最终把复杂的问题简单化。架构设计时,如果简单的方案和复杂的方案都可以满足需求,最好选择简单的方案。但是,事实上,当软件系统变得太复杂后,就会有人换一个思路进行重构、升级,将它重新变得简单,这也是软件开发的大趋势。

3 演化原则

演化原则,是生物进化的一个基本原则。人类社会、自然生物,小到一个细胞,似乎都遵循这一原则,软件架构也不例外。业务在发展、技术在创新、外部环境在变化,这一切都是在告诫架构设计人员不要贪大求全,或者盲目照搬大公司的做法。应该认真分析当前业务的特点,明确业务面临的主要问题,设计合理的架构,快速落地以满足业务需要,然后在运行过程中不断完善。没有一层不变的架构,举个例子,著名电商淘宝系统,从当初的单体架构到现在的分布式架构,中间经历了N多次的演化,每一次的演化都是为了解决面临的某一些问题,大家有兴趣的话可以看一下《淘宝技术这十年》。

架构设计是技术与艺术的结合,软件架构设计需要结合实际业务情况,分别从功能、性能、可用性、可扩展性、安全性等几个方面权衡考虑,另外也需要结合一些环境因素,比如团队技术能力、成本因素、技术风险、法律法规等。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值