2013年3月12日 星期二

MVC 相關技術 Overview

警告:內容可能包含個人偏見及部分認知錯誤,請警慎評估再相信其內容

2 則留言:

  1. 你好,想提問一下...
    1.如影片中學員提問的問題,小弟看了很多的MVC Demo,發現每支view都只做一件簡單的事,把資料讀出來、把表單送回去做一件事,是因為MVC的設計風格希望view要笨,此時會想起web form的single page application,我在一個畫面把CRUD都做掉了,MVC是否能實現?還是CRUD一定要去分2.3個view來做?

    2.所有對需要對資料庫存取的欄位,是否都一定要mapping成model,因為我資料也許不是直接從資料庫讀出來的,而是從公司內部WCF回傳的datatable之類的資料集合,如果欄位一多要手動去刻model,感覺很花時間XD

    回覆刪除
    回覆
    1. 1.
      single page application 不算是 web form 專屬的吧
      雖然字面上把程式都寫在一頁就能叫 SPA
      但是個人的見解是 像 GMAIL 臉書那種的 那種比較符合他的精神

      MVC 要 CRUD 放同一頁 當然也沒什麼不可以
      只是要判斷的東西變多了 耦合程度變高了
      也有點失去 Routing 的好處 "從網址理解頁面的作用"
      因為不管 CRUD 網址都一樣

      而且還要設法做狀態保留跟處裡 才知道目前頁面狀態
      web form 因為有 viewstate 所以有種 "網頁會自己記住狀態的錯覺"

      真的要在 MVC 同一頁 搞定 CRUD 個人會偏向用 AJAX 呼叫 service

      2.
      mapping 成 model 是為了使用強型別的好處
      真的很懶 直接丟 ViewBag 硬上 (好孩子不要學)
      除非被 Code Review 的人盯上 不然也沒人能阻止你-.-

      資料真的很給掰 超越人類耐性極限的時候 我會用反射來 mapping

      刪除