架构学习分享:软件架构设计的三大原则
Posted 黑不溜球
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了架构学习分享:软件架构设计的三大原则相关的知识,希望对你有一定的参考价值。
作为一个程序员,需要不断的学习、成长,丰富自己,提升自身价值。
软件架构学习不一定是想成为架构师才去学习,哪怕是一个普通的程序员,也应该学习软件架构相关知识,这样可以增加对开发的理解。
我之前有看过李运华老师的《从零开始学架构》,受益匪浅。这里我结合自己的理解给大家分享软件架构设计的三大原则:合适原则、简单原则、演化原则。
合适原则:
原则宣言:“合适优于业界领先”
现在互联网时代,技术的迭代非常快。很多架构师在设计架构的时候的希望用更新的技术来进行设计,以期望达到更好的效果。
但是,更新的技术往往不是最优的选择,哪怕新技术的效果很卓越。新技术带来了更好的效果的同时,也可能还有很多问题,比如:不够稳定,社区不够活跃,文档不够丰富,还有很多BUG等等问题。而这些对公司来说,都需要消耗时间、人力和金钱。
对于架构师而言,不是一定要设计出最牛逼的架构,而是要结合当前环境,公司成本设计出最合适最合理的架构方案。基于这种情况·,选择不那么新,但是系统稳定,社区活跃,文档丰富的技术来进行架构设计显然要合适合理得多。
简单原则:
原则宣言:“简单优于复杂”
做程序员的朋友们应该都有过类似的情况,当接到某个需求时,明明可以很简单的搞出来,偏偏想搞一个复杂一点的来展现自己的技术,我也有过这种情况,哈哈哈。
而架构师,我估计这种情况也存在。但是不管是开发还是做架构,我们都要明白,我们的最终目的(或者说是公司的目的)是什么,那就是更高效更低成本得解决问题。因为我们(公司)都是很现实的,是要赚钱的,那就必须考虑成本。特别是对于架构而言,因为架构是“房屋的框架”,开发都是基于架构设计开发的。架构复杂度每增加1分,开发的复杂度可能就会增加10分,对了,开发完成后还需要考虑运维的成本。
所以,架构设计在满足高可用、高性能、高扩展等等的前提下,一定要尽量简单。
演化原则:
原则宣言:“演化优于一步到位”
我觉得这个原则不只是适用于架构设计,还适用于产品设计。
再牛逼的架构师或者产品经理都不可能一步登天,一下子就设计出完美的架构和产品。
而事实上,优秀的架构和产品都是一步一步迭代出来的。比如:我们每天都在使用的微信,微信2011年推出至今,已经十年了,但是在十年前推出的微信和现在的微信天差地别,因为微信这十年一直在根据用户的使用情况和市场的发展等因素做着更新迭代,以满足用户使用。
而产品的不断迭代更加说明了产品活跃的生命力。如果产品不迭代了,那么在这高速发展的社会下,将很快就会被淘汰掉。
产品如此,架构设计也一样,架构设计也需要根据技术的发展,用户量的增大,业务的扩展进行不断地迭代升级,最终演化成优秀的架构。
以上是关于架构学习分享:软件架构设计的三大原则的主要内容,如果未能解决你的问题,请参考以下文章
[架构之路-94]:《软件架构设计:程序员向架构师转型必备》-4-软件架构设计的通用过程