对画架构图的一些思考

201 阅读3分钟

架构图能够帮助自己梳理出系统的核心点,从而制定未来的发展规划。

画架构图也是检验自己架构能力的重要标准。职业规划上选择架构师方向,那么画架构图是必不可少的一步,如果还没画的话,现在就可以开始了。不要只关注于项目,容易迷失方向,梳理架构能让我们更好的把握未来。

最开始画的时候比较难,或者不知如何下手,但只要坚持,会有念念不忘必有回响的效果。慢慢会画的越来越快、越来越全。可以先从自己负责的小模块开始画,到一定程度后,再从整个项目组的视角画,一层一层的提升自己。

画架构图,有一定的方法,和大家探讨一下,希望能有所帮助。

组成部分

架构图不会是流程图、交互图,架构图更偏向于展示系统的功能、能力。

画架构图可以先画系统的组成部分,可以从两点考虑:内部和外部,粗和细。

  • 哪些部分是内部系统提供的,哪些部分是外部系统提供的。如DB是自己的,MQ是外部的。

  • 对于粗细,可以粗到只写MySQL、Redis,也可细到MySQL中的表,丰俭由人,看哪种能更好的满足。

组成能让我们理解系统依赖什么,哪部分有可能会成为限制、哪部分可以优化。

功能梳理

接着可以画系统已经提供了哪些功能。

这是一个重新梳理系统、熟悉系统的过程,帮助大家从系统的细枝末节中跳出来,站在高一点的位置观察这个系统帮助业务完成了什么任务。 功能点也分对内和对外,这有利于帮忙分辨系统在不同业务场景下的特性。

梳理功能点相对比较简单,我们可以通过梳理接口来梳理功能点。在梳理的过程中,会有一种沉浸感,越想越细、越想越全,会发现很多自己以前没有关注的功能。

抽象领域

功能点梳理完毕后,需要将这些功能归类,然后将它们抽象为一种能力。

这比梳理功能点要困难得多,抽象意味言简意赅,同时也需要保留足够的扩展性。

抽象完后,便知晓系统的领域、系统的核心点,也找到了系统的抓手。

发展规划

发展要求从抽象再到现实。

根据抽象出的能力,将能力向上游、下游系统化的外扩,锻炼自己的规划、预判能力。

这部分对个人能力的要求比抽象还高,因为它要求我们对业务有较深的理解,否则根本不知道这些能力应该用在哪些方面。此刻我们多了一些产品的思维。

迭代优化

架构不是一时的事,也没有终点,需要不断迭代优化。

可以过段时间就复盘一下,或者遇到新项目时,根据已有架构来设计项目,同时修改、扩展系统。

整体架构

将自己负责的每一个部分梳理完毕,整理好架构后,可以换更宏观的视角,整理整个项目组或者整个部门的架构图,这也意味着自己能力有了更高的提升。

最后

大家如果喜欢我的文章,可以关注我的公众号(程序员麻辣烫)

我的个人博客为:shidawuhen.github.io/

往期文章回顾:

  1. 设计模式

  2. 招聘

  3. 思考

  4. 存储

  5. 算法系列

  6. 读书笔记

  7. 小工具

  8. 架构

  9. 网络

  10. Go语言