[問題] MVC model的設計

作者: vi000246 (Vi)   2016-06-02 18:13:23
目前的MODEL是依照資料庫的欄位開的
因為專案的需要 要在搜尋欄位新增數個INPUT 欄位
可能是別的MODEL的欄位 也可能只是為了搜尋方便開的
這樣就要在原本的MODEL新增這些和資料庫不相干的欄位
用來承接前端傳來INPUT欄位的數值
我看我同事的做法是資料庫MODEL和搜尋用的欄位分開
為搜尋欄位開新的MODEL
這樣會有資料重複的問題
可是比起原本雜亂的MODEL 這樣設計又比較清楚
想問有什麼設計模式能解決這問題嗎
能方便擴充欄位 又不會和原本依資料庫欄位設計的MODEL混在一起
作者: leon555 (長貓)   2016-06-02 19:40:00
我猜你需要Viewmodel?
作者: jinmin88 (晝伏夜出)   2016-06-02 20:06:00
去看WPF的MVVM吧 有很多sample project可以參考
作者: vi000246 (Vi)   2016-06-02 20:38:00
感謝兩位的關鍵字 明天來試試看
作者: kevintsengtw (mrkt)   2016-06-03 13:10:00
要注意 MVC 的 viewmpdelmvc viewmodel 與 mvvm 的有所不同,不要有行為,切記切記
作者: testPtt (測試)   2016-06-03 13:21:00
據我所知mvvm的精神在binding
作者: vi000246 (Vi)   2016-06-03 20:56:00
我們專案是把邏輯層另外切出來 和MVC的Model分開了
作者: GoalBased (Artificail Intelligence)   2016-06-03 21:16:00
viewmodel
作者: Litfal (Litfal)   2016-06-04 14:57:00
BLL層會有它的DTO,不需要用dynamic
作者: kevintsengtw (mrkt)   2016-06-04 21:53:00
當看到屬於表現層的 viewmodel 會跑到商業邏輯層時,就不對勁了
作者: vi000246 (Vi)   2016-06-05 10:52:00
對啊 所以應該要從Data access層做Model的聯集被viewModel的名稱給騙到了 以為一定要做在表現層
作者: GoalBased (Artificail Intelligence)   2016-06-05 13:17:00
本來就是做在表現層了..你好像有什麼誤會了?讓我想起樓樓上的文章..初學者別看以下文章..

Links booklink

Contact Us: admin [ a t ] ucptt.com