這次挑戰的目標主要以實戰為主,在討論架構設計時其實不應該有預設偏好的選項(像是連要做什麼都還不知道就直接用 MVVM + retrofit + room + coroutine)。而是應該針對需求、現實狀況等綜合評估下所做出來的選擇。
我所示範的專案將會是一個共享的便利貼 App ,在這三十天中會說明在這 app 中各種設計選擇的原因,以及提供其他的可能性,希望可以透過這個專案,跟大家一起進行架構設計以及專案需求的腦力激盪。
專案連結: https://github.com/hungyanbin/ReactiveStickyNote
在前面的二十天中我們完成了基本需求,但是這樣的進度在真實的專案中只是剛開始而已,有可能到目前為止做的只是 prototype,大家玩了一下覺得很喜歡,想要將他變...
要談架構的話當然一定會聊到這現在最夯最流行的 Clean architecture,雖然在前面的文章中已經提過幾次了,但是應該不是所有人都有真正的看過這本書,所...
Re-architect 大家應該都很常說,或是很習慣使用到一個詞 - 重構(Refactoring)。但是大家在說“重構”的時候其實不太像是在做“重構”,比較...
Domain Driven Design 是一個最近開始在台灣紅起來的一種設計以及開發方式,他的出現主要是為了解決大型專案中複雜的領域問題,透過與領域專家對話,...
接續上一篇的故事,阿明跟小美又經過了幾次的對話與討論,在便利貼專案中整理歸納了下列這幾個關鍵字: CoEditor ViewPort Gesture Stic...
上一天我們提到了 Domain Layer 會包含以下三個組件:CoEditor, ContextMenu, NoteRepository ,今天我們將著重在介...
上一次介紹完了介面,今天就要來說說實作的部分了,從這裡開始我要採取一種“小步快跑”的方式,原本 EditorViewModel 負責處理所有的商業邏輯,現在將原...
以下是到目前為止的架構圖,已經成功的將 ViewModel 層的全部商業邏輯移到了 Domain 層: 接下來,將在右邊的 ContextMenu 也開一條從...
上一次我們完成了 ContextMenu 的部分,ContextMenu 也有了屬於自己的 ViewModel,架構圖如下: 今天我們將要完成 Re-arch...
終於到了最後一天了,不知道把這三十天看完的人有多少呢?希望看到最後一天的人,有感受到我對於這系列文章中想傳達出去的理念,感受到架構設計的取捨是什麼,不是只有選擇...