September 10 07:38~08:08;11:30~11:49
▲圖1:Ada逆練九陰真經
前言
上一集<重構既有系統,邁向整潔架構 (1):為什麼透過重構改善軟體架構很困難>Teddy提到重構是一種「由下而上」的設計,而設計本身應該採用「由上而下」的過程,這也是為什麼透過重構改善軟體架構會如此困難的原因。
為了簡化重構軟體架構的難度,要想辦法將重構流程改成「由上而下」。
***
怎麼做?
要「逆轉重構流程」,其實很簡單,就是先確定架構目標就可以了。例如,假設鄉民是Uncle Bob的粉絲,不管手邊有什麼軟體,就是要想辦法無條件套用Clean Architecture就對了。如此一來,你就有了軟體架構重構的目標:Clean Architecture。
現在Teddy把架構重構的問題轉換成如何套用Clean Architecture,Teddy用Pattern Language的方式來解釋這個套用的過程,請參考圖1。有五個模式支撐Clean Architecture:
- Four Layers:請參考<Clean Architecture(4):架構三原則首部曲—分層原則>
- Dependency Rule:請參考<Clean Architecture架構三原則二部曲—相依性原則>
- Cross Boundary Rule:請參考<Clean Architecture(6):架構三原則三部曲—跨層原則>
- Main Component:負責依賴注入。
- Screaming Architecture:好的架構要能夠吶喊出系統功能。
▲圖1:Clean Architecture底下有五個模式
上述五個模式的套用順序,先從Four Layers開始,將系統分成以下四層(四個不同的packages):
- entity
- usecase
- adapter
- io
有了大方向之後,接下來就是把你的既有系統想辦法塞入Clean Architecture這四層之中,如圖2。
▲圖2:Clean Architecture的四個階層
***
下一集Teddy將會以Task List Kata為例,說明如何將既有系統的架構重構成Clean Architecture。
***
工商服務
想了解本系列文章完整內容,請參考【重構既有系統:邁向整潔架構實作班】。課程介紹與報名網址在此:https://teddysoft.tw/courses/refactor-to-ca/。
***
友藏內心獨白:道理很簡單,要做到卻不簡單。
沒有留言:
張貼留言