一、廣度:
廣度指的是架構師應該對所在領域的主流技術體系有一個全面清晰的認識,每一種技術不需要很深入的了解,但必須知道每種技術的“3W”:
1,Why:每種技術的由來,為什麼會出現這種技術,這個技術是用來解決什麼問題的?
2,What:每種技術是什麼?技術的基本組成部分是什麼?
3,Which:解決同一問題的相同技術各自的優缺點是什麼,更适合哪種場景?比如,ORM架構(Hibernate與IBatis),MVC架構(Struts與SpringMVC),大資料技術(Hadoop與Spark)它們各自的優缺點是什麼,隻有清晰認識同一類型技術的優缺點,才能在技術選型時能夠使用更加合理的技術。
廣度的學習方法:對各主流技術一一通過搜尋引擎了解其3W的内容。
二、高度:
高度指的是架構師應具備對客觀事物的“拔高”能力,能夠從紛繁雜亂的資訊中建立秩序,也就是我們一般所說的抽象能力。
抽象能力包括:
1,業務抽象:能夠軟體和産品的複雜的需求中抽象核心業務實體,并給各業務實體建立合理的關系;
2,技術抽象:能夠對複雜的技術架構進行分層抽象、服務抽象(微服務抽象)、元件抽象,并為各層和各服務之間的調用建立合理的“關系”;
高度的學習方法:深入了解和學習面向對象、設計模式,琢磨優秀開源架構的設計原理和設計思想。
三、深度:
深度指的是架構師能對主流技術有較為深入的了解,主要包括:
1,可以不了解源代碼,但對主流技術的原理,運作機理有一個基本的了解;
2,至少對一種技術有深入的認識,是這種技術的專家,熟悉其源代碼以上2點,1為必須,2為非必須深度的學習方法:上文已說。
四、寬度:
寬度指的是架構師能夠熟知目前的技術前沿和熱點,能夠使用新的技術解決問題。比如,微服務、大資料、雲計算、人工智能等。
寬度的學習方法:可以使用手機訂閱相關的技術資訊了解,定期了解即可,對于跟所負責工作相關的技術進行進一步的了解。
小結:廣度決定了系統架構技術選型的合理性;高度決定了系統架構設計的合理性;深度決定了系統架構的優化能力;寬度決定了系統架構的領先性,不至于三五年被淘汰四度缺一不可!
歡迎工作一到五年的Java工程師朋友們加入Java架構開發:468947140
點選連結加入群聊【Java-BATJ企業級資深架構】:https://jq.qq.com/?_wv=1027&k=5zMN6JB
本群提供免費的學習指導 架構資料 以及免費的解答
不懂得問題都可以在本群提出來 之後還會有職業生涯規劃以及面試指導