软件结构设计必须遵循什么原则(分析这3个基本原则)

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

1 合适原则

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

2 简单原则

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

3 演化原则

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

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

版权声明:(录脚本)内容由互联网(admin)用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 71441083@qq.com 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论