Architecture Methodology - Three-tier Fractal Architecture Demonstration#
#article/done/published
#架构
#三层分形架构
实践是检验真理的唯一标准
我们有了一个分层的方法,这个方法是否有效呢?
我们虚拟一些场景来模拟下,看看该方法能否解决我们的问题。
以 App 开发为例。
通常初期只有简单的业务需求,这个时候聚焦业务。
我们有核心层业务层,支撑层基础层,应用层。
基础层放使用的公共类库,提取的公共组件等和业务無關的技術、框架、工具等。
应用层負責整合业务层定義的組件。
业务层負責核心的业务邏輯。
![[Screen Shot 2020-12-21 at 09.02.27.png]]
隨著業務的發展,我們希望在專案中引入 H5 開發頁面的功能。這個功能和原生的頁面功能不同,需要 WebView 的容器作為基礎。
如果 我們專注 H5 的開發,就需要 WebView 的支撐。
所以我們在業務層中 聚焦容器。
核心層是容器層,提供原生業務容器和 H5 業務容器。
應用層是原業務層,因為容器是業務的支撐,業務依賴於容器。
支撐層是容器基礎層。
![[Screen Shot 2020-12-21 at 09.02.38.png]]
現在有了不同的客戶,希望定制不同的界面和功能。
聚焦功能定制。
核心層是定制層。
支撐層是原業務層,因為定制是基於原有業務的。
應用層是定制應用層。
![[Screen Shot 2020-12-21 at 09.08.41.png]]
現在看下我們的整體分層
![[Screen Shot 2020-12-21 at 09.19.57.png]]
從演進的角度,可以很清晰的看到最終的分層是如何形成,但是只看最終的分層,卻很難明白為什麼這樣。
當然分層分解的過程仍然可以繼續下去,這並不是終點。
但是三層分形的方式描述出架構的演進,可以更加清晰易懂的理解架構的演進。