每一位程序员都有一颗成为架构师的心。
但是,很多人对于“架构”的理解,还停留在产品经理出需求,架构师依据产品设计给出实现,也就是所谓的架构设计方案这一阶段。
这一点恐怕是个误解。架构关乎整个工程,以及实现它的人,又因团队的能力而异。
同时,架构也关乎用户需求,作为架构师,我们不仅要知道当前用户的需求是什么,还要对需求未来可能出现的变化做出合理预判。
预判什么会发生,而什么一定不会发生。其中,后者更为重要,只有做到这一点,才能真正防止架构的过度设计,把简单的事情复杂化。
所以,想要成长为优秀的软件架构师,关键在于四个字:掌控全局。
掌控全局,就是要对系统的全貌了然于胸,在自己心中重新构建出整个世界。而不是一上来就沉浸在某个技术的实现细节中,除非它影响了你对这个世界构建过程的理解。
当你了解了世界的脉络和骨骼,你的感觉将完全不同,因为,你已经成为了世界的构建者。
而架构的本质,不正是构建和创造么?
这种透过层层代码的业务层级,窥见整个信息世界的来龙去脉的能力,才是架构师的终极能力。
我们现在所在包罗万象的信息世界,正是在最底层的冯·诺依曼的基础体系上搭建而成,我们熟知的架构,则是最上层的业务架构。
对于架构师来说,不只需要想清楚业务应该怎么做分解,实际上,整个应用从底层的操作系统、编程语言到顶层的业务架构,每一层都需要进行各种决策。
作者许式伟,七牛云 CEO,超过 19 年的互联网从业经验,曾在金山、盛大从事技术研究方面的工作,是 WPS 2005 的首席架构师。他在 2011 年创办了七牛云,成功打造了全新的公有云存储服务。
首席架构师口传心授,带你重新理解架构设计,一起成为信息世界的创造者。
专栏共 77 讲,分为 6 大模块。
整个专栏内容会从基础架构开始讲起,然后逐步过渡到业务架构,到最终完成一个完整应用程序的设计过程。这其中包括基础平台、桌面端平台、服务端开发、服务治理、架构思维、软件工程 6 大模块。
基础平台
如果把应用程序比作一座大厦,那大厦的架构师就需要把大厦的结构搭建好,让程序员可以把砖填充进去。而一个大厦的结构建得是否稳固,与其地基密不可分。基础平台模块就是介绍与应用程序相关的“地基”,这其中包括冯·诺依曼体系结构、操作系统、计算机体系结构等。
桌面端与服务端平台
对于架构师来说,不是只需要想清楚业务应该怎么做分解。实际上,整个应用从底层的操作系统、编程语言到顶层的业务架构,每一层都需要进行各种决策。这几个模块会开启全局视角,帮你理解桌面端应用和服务端应用体系结构以及核心逻辑。
架构思维
思维方式对于一个人来说至关重要,同样,具备架构思维也是让你脱颖而出的关键。这一模块将会介绍架构师必须掌握的架构思维方法论,每一个架构师都应该把这些架构思维内化为自己的基本功,比如架构和业务的关系、架构的边界、重构、接口设计的准则等等。
软件工程
架构师的关键目标是交付结果,所以架构师的着眼点一定不只是技术、业务这些内容,还应该包括团队协同、过程管理等等。这一模块将会重点介绍软件工程和架构的关系。
限时福利
- 订阅后,分享专属海报,每邀请一位好友订阅有奖励。
- 戳此添加社群管理员,进入技术交流 & 福利群。
- 戳此申请学生认证,订阅课程一律 5 折。
订阅须知
- 本专栏为订阅专栏,定价 129 元,更新时间为 2019 年 4 月 16 日至 2020 年 1 月 17 日。订阅成功后,即可通过“极客时间”App 端、小程序端、Web 端永久阅读。
- 本专栏更新时间为每周二、五,形式为图文 + 音频,共计 77 期。
- 企业批量购买请点击“企业充值”了解详情,可支持员工选课,企业支付。
- 本专栏为虚拟商品,一经订阅,概不退款。