这个事情实际相当有难度,大部分人员不具备这个能力。
但是为何很多人架构设计还是做得不错,简单来说整个信息化和互联网发展到今天,各种业务系统,电商平台,互联网应用你基本都可以找到类似的架构参考和原型,你只需要参考别人的做法去做即可。
比如你要做一个电商平台,具体应该如何分解各个子系统,或者是否建立各个中台能力中心,这些都有标准的做法,不需要你再去创新,你只需要参考别人实践去做即可。
但是如果你面对一个全新业务,你要去规划和构建整个业务系统的架构设计,模块划分,我相信大部分架构设计人员都无法做好这件事情。这个能力已经不是简单的你技术多牛,而是考察的全局思维和系统观,考察的是分解和集成,分类和抽象,问题分析和解决,模式匹配能力,这些能力统筹我经常谈到的思维能力。
如果一个人真正具备这种独立分析和解决问题的能力,具备系统思维的能力,你会发现他不仅架构设计做得好,其它很多事情都能够很好的完成。就是这个道理。
所以要具备这方面的能力,你可以先熟悉相关的业务域知识,也可以看看完整的类似面向对象的软件架构设计书籍,领域驱动建模书籍,传统的类似RUP统一软件过程方法论等。看看完整的业务需求如何通过流程分析,用例建模,对象建模,接口设计逐步落地。
3.培养创新和激情
创新并不只是想出一个新颖的点子,创新是把点子转换成经济力量的工作,按照Joseph Tidd、John Bessant、Keith Pavitt 的理论,创新分为产品创新、过程创新、位置创新、范式创新。
- 产品创新:改变一个单位提供的东西(产品或者服务)
- 过程创新:改变产品或者服务生成或配送的方式
- 位置创新:改变引入某产品或者服务的前后关系
- 范式创新:改变单位所做业务的基础精神模型
为了能够创新,需要找到一定的边界,这能够让你有学习、适应和恢复的空间,而不必过多的关注其中产生的错误,如此让灵感变成为现实的创新产品。
保持激情能够让你感觉是在做自己的事,而不是别人让你做事,要在架构师工作中发现激情、保持激情,当激情被别人浇灭的时候,要学会重启激情,把难事做好,尽心尽力投入,用激情作为前进的动力,同时坚持锻炼,这样才能一直在架构师的路途上不断走下去,成为一名出色的架构师。
以上内容分享自华为云社区《【云驻共创】怎么提高自己的系统设计和架构理论水平》,作者:阿提说说。
架构师从程序员中来,但不是每个程序员都能成为架构师,要想成为架构师,不仅要有一定的基础代码能力,也要对业务有所了解,更重要的是从思维的广度和高度进行提升。
1.基础能力
基础能力是一个程序员必备的能力,如基础代码开发、XML/JSON操作、数据库、常用框架、工具等,深入一些的还有算法、设计模式、高并发、线程等内容。如果要成为架构师,这些内容是必须要了解和掌握的,所以在平时要多分析源码,分析底层的架构和算法,不断积累自己的基础能力。
2.业务能力
架构都是为系统服务的,为系统服务就是为实际业务服务的,所以对于一个合格的架构师,一定要了解业务,可以根据不同业务设计出最优化的技术方案来满足实际的业务场景,并且能充分考虑到高并发、稳定性和安全性等性能要求。这就要求我们在平时工作的过程中,注意了解业务、积累经验,将实际业务与产品开发相融合,提升业务能力。
3.思维能力
成为一名架构师,不仅是一名优秀的程序员,更要在思维的高度上超过程序员,加强思维的广度,能从分析、设计、开发、使用等多种角色的角度去看待项目和设计架构,同时要具备思维的严谨性和开放性,把握细节的同时也要接纳更多的技术方案,能够协调好各种方案的处理方式和使用范围,实现最优化的设计。