l

2018年6月22日 星期五

Clean Architecture(3):精選參考範例

June 22 10:01~11:14

螢幕截圖 2018-06-22 11.08.47

這學期Teddy在北科大資工所兼任軟體架構課程,轉眼下禮拜就要學期結束。Teddy在網路上找了幾個外國鄉民實作的Clean Architecture程式範例,請學生當作期末報告。聽完學生報告,今天選了四個相對簡單易懂又可以反應Clean Architecture精神的範例推薦給鄉民們參考。

***

範例介紹

範例1:Real Life Clean Architecture

範例2:A complete idiot’s guide to Clean

範例3:A Clean Architecture in .Net

範例4:Architecting Android...The clean way?

***

學習重點

在觀看範例程式時,可留意以下幾個重點:

  • 專案結構:一個專案還是多個專案?如果是多個專案,分了那些專案,為什麼?專案之間的相依性為何?

  • 有哪些Entity物件?

  • 如何實作Use Case雙向介面?Use Case的Input與Output介面以及資料結構如何定義?由誰實作?

  • Use Case是否採用Command方式實作?

  • 如何處理物件跨層的問題?

  • Interface Adapter這層有哪些物件?如何跟 Use Case溝通?

  • 是否如《Clean Architecture》書中所示套用MVP?

  • 是否有使用View Model?

  • 範例是否遵循dependency rule?

  • 是否有外層(low level)物件跨層參考內層(high level)的物件?例如 controller直接參考entity。

  • 如何實作Repository?

  • 如何實作View?

***

結論

Clean Architecture》這本書讀起來不難,但有很多實作細節需要注意,如果自己不動手做過一次不容易發現箇中奇妙之處。一邊自己動手練習,同時參考別人的範例,學習效果可收加倍之效。

***

友藏內心獨白:實作方式有很多種。

沒有留言:

張貼留言