什么是软件架构的思维方式?

对于软件架构设计来说,我们应从思维方式入手,学习如何建立抽象构建架构的思维方式。

什么是软件架构的思维方式?

架构包含了我们对这个项目的抽象思维,也帮助我们理清了项目的业务逻辑。所以软件研发和架构设计中最重要的能力其实就是抽象的能力。

如何把客户的需求,把领导的需求转化为抽象的软件架构,是一个架构师必备的技能,一个项目在最初的需求上是没有可见的实体的,所以要我们去凭空相信一个目标实体,这个实体大概就是你软件的最终形态。

什么是软件架构的思维方式?

抽象能力在这个时候发挥了重要的作用,它可以帮助我们在没有形成任何可见,可幻想的实际物体之前,为目标描绘出一个大致的形态。

所以在实际工作中,抽象能力的强弱决定了我们能解决问题的复杂度和规模大小。

就像盖房子一样,不同房子有不同的设计,一个房屋设计师首先要在大脑中形成抽象的概念,然后以模块的方式进行拆分,依次实现各个模块,然后再将模块组合起来,形成了一栋完整的房子。

什么是软件架构的思维方式?

其实我们生存的世界都是在抽象的基础上构建起来的,没有抽象,人类无法对事物进行构建。

抽象又可以分为三种抽象方式:

一、分层思维

什么是软件架构的思维方式?

分层是我们对复杂事物管理的基本思维方式,面对一个复杂的系统,如果我们不拆分就直接面对是无从下手的,因为复杂的事物都是互相关联且子系统比较多的,这很大程度上会导致我们慌张、焦虑、惶恐等等。

分层思维,可以很好地帮助我们抽象出一个复杂系统的架构层次,能让我们清晰地描述有多少层面的事物需要解决,以及解决层级的先后次序。

在构建一个复杂的系统时,我们通常会把整个系统分成多个层次,每一层解决某个领域的问题,并向上提供服务。

这样的抽象做法,让复杂的事物变得更加清晰,不过有些层次不一定是横向的,也有可能是纵向的。

其实人类世界也是以分层的方式一层层搭建和演化出来的,比如现在的互联网系统是现代文明的层次,而上层是基于互联网的现代商业,下层是现代电子工业的基础。

二、分治思维

什么是软件架构的思维方式?

分而治之是应对和管理复杂性的一般性方法,比如我们可以对一个无法一次解决的问题分解成若干个子问题,如果子问题还无法解决,则再继续分解成更小的子问题,直到可以直接解决为止,这就是分解的过程,然后再将子问题的解组合成问题的解,这就是组合的过程。

在我们生活中分治的思维可以解决很多复杂的问题。比如你要写一本书,可以先把这本书分解成多个章节,然后每个章节又可以分解成多个小节,每个小节分解成多个段落。

然后逐一解决这些小的段落,组成一个小节,再把小节组成一个章节,最后把章节组成一本书,那这本书就写好了。

这样一步步、一点点,把小问题解决了,就是把大问题解决了。随着时间的推移,不断解决细分的小问题,大问题便可迎刃而解。

三、演化思维

什么是软件架构的思维方式?

经常看到有人在讨论架构是设计出来的还是演化出来的,其实我认为架构是在演化的过程中设计出来的

就像人类一样,人类在进化,同时人类也在创新,对于互联网系统,可以说是三分设计,七分演化,既在设计中演化,又在演化中设计,是一个不断迭代的过程。

比如在开发一个软件系统,前期的设计和开发大概占三成时间,而后面的七成时间是在根据用户的反馈进行不断的优化和改BUG。所以身为一个架构师我认为不仅要懂设计还要借助用户的反馈和演化的力量推动架构的持续进化,这就是演化式思维。

不过,一开始的架构设计也非常重要,架构的确定,系统基本就成型了,同时一个优秀的架构也应该能不断应对环境的变化,架构的好坏很大部分取决于它应对变化的灵活性。

欢迎关注我,学习更多计算机知识!

来源:IT档案馆

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年6月19日
下一篇 2022年6月19日

相关推荐