l

2024年9月10日 星期二

重構既有系統,邁向整潔架構 (2):逆轉重構流程

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:

 

▲圖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/

***

友藏內心獨白:道理很簡單,要做到卻不簡單。

沒有留言:

張貼留言