程序员的成长绕不开架构设计,有时架构设计就像鸿沟一样挡在程序员晋升之路上,只要跨过去就可以海阔天空。
不少技术能力很强的程序员依然不能完全掌握架构设计,这与架构设计的思维方式和训练机制与写代码有很大差异有关,加之人们对架构设计存在很多误区,缺乏一套行之有效的架构设计方法论,就可能导致在实践过程中把握不住重点、分不清主次;或者,没有彻底掌握架构设计的原则,在设计上举棋不定。
也许你还是个架构新手,缺乏一个可以参考指导的架构设计流程;或者,虽然有一定经验,但还不能对已有模式进行技术创新。这些问题都可以在《架构精进之路》中找到答案。
作为架构师,我们不仅要知道当前用户的需求是什么,还要对需求未来可能出现的变化做出合理预判。
预判什么会发生,而什么一定不会发生。其中,后者更为重要,只有做到这一点,才能真正防止架构的过度设计,把简单的事情复杂化。
所以,想要成长为优秀的软件架构师,关键在于四个字:掌控全局。
掌控全局,就是要对系统的全貌了然于胸,在自己心中重新构建出整个世界。而不是一上来就沉浸在某个技术的实现细节中,除非它影响了你对这个世界构建过程的理解。
当你了解了世界的脉络和骨骼,你的感觉将完全不同,因为,你已经成为了世界的构建者。
而架构的本质,不正是构建和创造么?
这种透过层层代码的业务层级,窥见整个信息世界的来龙去脉的能力,才是架构师的终极能力。
我们现在所在包罗万象的信息世界,正是在最底层的冯·诺依曼的基础体系上搭建而成,我们熟知的架构,则是最上层的业务架构。
对于架构师来说,不只需要想清楚业务应该怎么做分解,实际上,整个应用从底层的操作系统、编程语言到顶层的业务架构,每一层都需要进行各种决策。