Re: [心得] 框架不應該有「MODELS」資料夾
點進原作者部落格後...
發現我看過原作者前一篇在討論"MVC是一個巨大誤會"的文章...
其實還是建議對 MVC 有疑惑的人去了解到底什麼是 Design Pattern,
還有什麼是 Architecture Pattern,以及 MVC 在 Pattern 中的定位。
搞懂上述的前因後果,可以開闊很多眼界...
然後我也有對"為什麼MVC在實作上都不一樣"給了一些說明,
希望能幫助大家理解 MVC 與 Design Pattern 的觀念。
完整內容可以參考部落格圖文版
http://www.hansliu.com/posts/2015/03/why-do-not-mvc-pattern-look-like.html
--- PTT 好讀文字版 ---
MVC 最早是 smalltalk 設計的一個 Pattern,其定義與目的與模擬實作的方法在
Design Pattern 一書中都描述的相當清楚,有興趣的人可以去書店翻一下。
網路上可以參照底下網站的說明:
http://www.tutorialspoint.com/design_pattern/mvc_pattern.htm
重點是,Design Pattern 書中不是要強迫你實作的內容百分百一樣,
而是要求你的實作要達到 Pattern 目的,我在這邊列出中文書上對於其目的的說明:
MVC 的目的在於增加彈性與再利用性,
同一個 model 可以搭配好幾個 view,也可以做出不會改變 model 內容的 view,
同時更嚴苛的要求,view 不應該包含運算的邏輯。
因此不是去追究每套 Framework 在設計上的差異去與定義比較,
或著去分析每套 Framework 命名的規則和目錄的結構,
然後要說它的設計到底要不要叫做 MVC?
而是要去看設計之後是否能達到 MVC 目的。
-
其實 MVC 不是在23個 Design Pattern 之中,它列在書中的前言,
從 Stackoverflow 的討論中可以得知 MVC 應該是一個 Architecture Pattern。
而分類在不同的 Pattern 之中,其當初設計的想法就是有顯著的不同。
Design Pattern 在實作上會存在需要使用同一種技術語言完成的先天條件,
然而 Architectural Pattern 則沒有這樣的限制。
所以每套 Framework 只要實作出來的結果符合 MVC Pattern 的目的,
並且保證使用者擁有 MVC Pattern 的優點,就算實作的方式不盡相同,
也代表其包含(支援) MVC。
-
回頭來看,MVC 目錄結構要怎麼放或怎麼命名都不是 Framework 在意的,
它只是想確保設計可以達到 MVC 的目的,而建置出來的目錄結構與名稱。
至於到底目錄結構要怎麼放或怎麼命名,這應該是由實作團隊之間保持溝通,
搭配充分的說明與註解的文件,讓團隊可以維持開發流程順利的目的。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.9.45
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1428121200.A.202.html
推
04/04 13:04, , 1F
04/04 13:04, 1F
推
04/04 13:23, , 2F
04/04 13:23, 2F
→
04/04 13:23, , 3F
04/04 13:23, 3F
→
04/04 13:23, , 4F
04/04 13:23, 4F
→
04/04 13:23, , 5F
04/04 13:23, 5F
推
04/04 15:58, , 6F
04/04 15:58, 6F
推
04/04 16:22, , 7F
04/04 16:22, 7F
推
04/04 16:37, , 8F
04/04 16:37, 8F
→
04/04 17:37, , 9F
04/04 17:37, 9F
推
04/04 22:07, , 10F
04/04 22:07, 10F
→
04/04 23:01, , 11F
04/04 23:01, 11F
推
04/05 18:12, , 12F
04/05 18:12, 12F
※ 編輯: jlhc (114.25.9.45), 04/06/2015 18:56:16
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
Soft_Job 近期熱門文章
15
63
PTT職涯區 即時熱門文章