架构图能够帮助自己梳理出系统的核心点,从而制定未来的发展规划。
画架构图也是检验自己架构能力的重要标准。职业规划上选择架构师方向,那么画架构图是必不可少的一步,如果还没画的话,现在就可以开始了。不要只关注于项目,容易迷失方向,梳理架构能让我们更好的把握未来。
最开始画的时候比较难,或者不知如何下手,但只要坚持,会有念念不忘必有回响的效果。慢慢会画的越来越快、越来越全。可以先从自己负责的小模块开始画,到一定程度后,再从整个项目组的视角画,一层一层的提升自己。
画架构图,有一定的方法,和大家探讨一下,希望能有所帮助。
组成部分
架构图不会是流程图、交互图,架构图更偏向于展示系统的功能、能力。
画架构图可以先画系统的组成部分,可以从两点考虑:内部和外部,粗和细。
-
哪些部分是内部系统提供的,哪些部分是外部系统提供的。如DB是自己的,MQ是外部的。
-
对于粗细,可以粗到只写MySQL、Redis,也可细到MySQL中的表,丰俭由人,看哪种能更好的满足。
组成能让我们理解系统依赖什么,哪部分有可能会成为限制、哪部分可以优化。
功能梳理
接着可以画系统已经提供了哪些功能。
这是一个重新梳理系统、熟悉系统的过程,帮助大家从系统的细枝末节中跳出来,站在高一点的位置观察这个系统帮助业务完成了什么任务。 功能点也分对内和对外,这有利于帮忙分辨系统在不同业务场景下的特性。
梳理功能点相对比较简单,我们可以通过梳理接口来梳理功能点。在梳理的过程中,会有一种沉浸感,越想越细、越想越全,会发现很多自己以前没有关注的功能。
抽象领域
功能点梳理完毕后,需要将这些功能归类,然后将它们抽象为一种能力。
这比梳理功能点要困难得多,抽象意味言简意赅,同时也需要保留足够的扩展性。
抽象完后,便知晓系统的领域、系统的核心点,也找到了系统的抓手。
发展规划
发展要求从抽象再到现实。
根据抽象出的能力,将能力向上游、下游系统化的外扩,锻炼自己的规划、预判能力。
这部分对个人能力的要求比抽象还高,因为它要求我们对业务有较深的理解,否则根本不知道这些能力应该用在哪些方面。此刻我们多了一些产品的思维。
迭代优化
架构不是一时的事,也没有终点,需要不断迭代优化。
可以过段时间就复盘一下,或者遇到新项目时,根据已有架构来设计项目,同时修改、扩展系统。
整体架构
将自己负责的每一个部分梳理完毕,整理好架构后,可以换更宏观的视角,整理整个项目组或者整个部门的架构图,这也意味着自己能力有了更高的提升。
最后
大家如果喜欢我的文章,可以关注我的公众号(程序员麻辣烫)
我的个人博客为:shidawuhen.github.io/
往期文章回顾: