2021年8月11日 星期三

SOLID - Vertical Slice Architecture with Clean Architecture

 

 

想要使用微服務?在此之前不如先把你的 Software 弄得 Soft 一點,今天剛好看到有人分享這場演講覺得很受用,在你真的把各服務分開 deploy 前,不如就先把你的目錄結構就先解構~


 

一般來說我們都被教育的很習慣使用 layer 的方式分目錄結構,就連 Clean Architecture 也是類似的階層架構。

以軟體開發來說 layer 式目錄分法其實沒什麼不好,但是考量到如果有協作性,甚至大規模遠距協作,這種架構可能就會很麻煩,可能每天都會再處理 merge conflict,處理 MR 就會變成很痛苦....



所以這時候通常就會聽到許多人為此要拆微服務,其實早在實體部署拆分之前,你的程式就可以先為此做準備,以 Business 的角度(參考 DDD)來拆分。



 

這時可能會有人想這樣拆分那還可以用 Clean architecture 嗎? 其實一點也不衝突啊,可以參考這篇 how vertical slice architecture fulfills clean architectures broken promises。最後目錄結構可能就會長如文章開頭那張圖一樣。



 

沒有留言 :