如何成為優秀架構師?
需要有一定的技術積累,但是核心是懂業務。
具備一定的方法,并且有很強的業務理解能力。
技術架構師:形成技術方案,做的更多的是底層的平臺,提供工具。
業務架構師:解決方案架構師,理解業務需求用戶痛點,形成解決方案。更接近客戶。
架構師:
- 接近客戶
- 理解業務
- 大局觀:站在更頂層的角度規劃系統,不斷規劃、不斷抽象。
- 技術:互聯網、大數據、AI、5G-物聯網
關鍵難題:
- 如何快速有效地學習業務領域知識?
- 如何深入地理解與挖掘業務痛點?
- 如何通過技術的手段落地業務?
領域驅動的解決之道
敏捷團隊將每個模塊設計成微服務
中臺構建
通過業務抽象,建立可復用的業務中臺。
淘寶、天貓都有基礎交易平臺的需求。
抽出可復用的平臺能力,搭建能力中臺。
阿里的中臺建設
業務中臺:能力中心
通過微服務架構搭建系統
頻繁的變更帶來軟件質量的下降
軟件頻繁變更的demo:電商網站付款功能
需求不斷變更:增加商品折扣功能、增加VIP會員權益、增加支付方式、…
導致代碼混亂。
以上的問題是軟件發展的必然規律:
簡單軟件 VS 復雜軟件
一般情況下的軟件迭代都是由簡單需求到復雜需求,因此代碼的迭代就會出現腐敗。如果第一次就提出的是復雜需求,那可能第一次就能實現復雜軟件應該有的架構。
軟件退化的根源
軟件退化的根源是需求變更之后,沒有進行代碼的解耦和擴展的話就會出現軟件退化。
如電商網站付款功能,如果直接在簡單軟件上做if else的迭代的話,軟件質量就會下降。
領域模型及領域建模思想
將軟件設計和真實世界結合起來
領取驅動設計的過程
- 領域建模的過程
- 領域模型指導數據庫設計
- 領域模型指導軟件設計