一、广度:
广度指的是架构师应该对所在领域的主流技术体系有一个清晰的认识,每一种技术不需要很深入的了解,但必须知道每种技术的“3W”:
1,Why:每种技术的由来,为什么会出现这种技术,这个技术是用来解决什么问题的?
2,What:每种技术是什么?技术的基本组成部分是什么?
3,Which:解决同一问题的相同技术各自的优缺点是什么,更适合哪种场景?比如,ORM框架(Hibernate与IBatis),MVC框架(Struts与SpringMVC),大数据技术(Hadoop与Spark)它们各自的优缺点是什么,只有清晰认识同一类型技术的优缺点,才能在技术选型时能够使用更加合理的技术。
广度的学习方法:对各主流技术一一通过搜索引擎了解其3W的内容。
二、高度:
高度指的是架构师应具备对客观事物的“拔高”能力,能够从纷繁杂乱的信息中建立秩序,也就是我们一般所说的抽象能力。
抽象能力包括:
1,业务抽象:能够软件和产品的复杂的需求中抽象核心业务实体,并给各业务实体建立合理的关系;
2,技术抽象:能够对复杂的技术架构进行分层抽象、服务抽象(微服务抽象)、组件抽象,并为各层和各服务之间的调用建立合理的“关系”;
高度的学习方法:深入理解和学习面向对象、设计模式,琢磨开源框架的设计原理和设计思想。
三、深度:
深度指的是架构师能对主流技术有较为深入的理解,主要包括:
1,可以不了解源代码,但对主流技术的原理,运作机理有一个基本的理解;
2,至少对一种技术有深入的认识,是这种技术的专家,熟悉其源代码以上2点,1为必须,2为非必须深度的学习方法:上文已说。
四、宽度:
宽度指的是架构师能够熟知当前的技术前沿和热点,能够使用新的技术解决问题。比如,微服务、大数据、云计算、人工智能等。
宽度的学习方法:可以使用手机订阅相关的技术资讯了解,定期了解即可,对于跟所负责工作相关的技术进行进一步的了解。
小结:广度决定了系统架构技术选型的合理性;高度决定了系统架构设计的合理性;深度决定了系统架构的优化能力;宽度决定了系统架构的性,不至于三五年被淘汰四度缺一不可!