【J2EE】:MVC是框架?是設計模式?是架構?還是……
上篇部落格簡單聊了聊MVC模式,但是有一個很重要的問題我沒有提到,那就是對MVC的定位,它是什麼?
很多人都知道MVC,都知道就是把將資料和顯示分離,知道Model—View—Controller,但是讓你說MVC是什麼東西,你可能不知如何回答。那麼MVC到底是什麼玩意呢?框架?設計模式?架構?都不是。
可以肯定的說(個人認為),MVC不是框架,不是設計模式,更不是架構,它僅僅是一種架構模式。它不描述系統架構,也不指定使用什麼技術,僅僅是描述系統架構的一種模式,類似於AOP、IOC、ORM等等,具體的框架技術則是基於這些模式的一些實現而已,比如基於MVC模式的框架有著名的Struts、Spring MVC、JSF、Tapestry以及比較老的WebWork等等,基於ORM模式的框架有Hibernate、MyBatis、iBatis以及.NET比較有名的Entity Framework等等。
設計模式(Design pattern:是一套被反覆使用、多數人知道的、經過分類編目的、程式碼設計經驗的總結。從定義上看,它涉及到了程式碼級別,側重於解決實際的現實的問題。比如我們應該如何為不同的商品設計折扣的方式,採用策略模式唄。
框架(Framework):是整個或部分系統的可重用設計,表現為一組抽象構件及構件例項間互動的方法;另一種定義認為,框架是可被應用開發者定製的應用骨架。前者是從應用方面而後者是從目的方面給出的定義。從定義看,它涉及到了一堆構件,以及這些構件之間的依賴關係、責任分配和流程控制等,說白了就是一堆類而已。這些類以及之間的關係構成了框架。比如想要讓使用者通過Servlet來訪問頁面,怎麼辦?用Struts唄。
架構模式(架構風格):一個架構模式描述軟體系統裡的基本的結構組織或綱要。架構模式提供一些呈先定義好的子系統,指定它們的責任,並給出把它們組織在一起的法則和指南。從定義上來看,它是在指導我們如何組織程式碼,是一種具有指導意義的思想,比如要解決系統的資料與顯示分離的問題,那就使用MVC模式唄。
軟體架構(software architecture):是一系列相關的抽象模式,用於指導大型軟體系統各個方面的設計。 軟體架構是一個系統的草圖。軟體架構描述的物件是直接構成系統的抽象元件。各個元件之間的連線則明確和相對細緻地描述元件之間的通訊。在實現階段,這些抽象元件被細化為實際的元件,比如具體某個類或者物件。比如,我們要開發一個線上測評系統,使用什麼架構呢?輕量級的SSH還是重量級的EJB?自己決定吧。
小結一下:
相關文章
- 到底是倉庫模式好,還是MVC模式好?模式MVC
- 架構設計:程式還是執行緒?是一個問題!架構執行緒
- 設計,架構,框架之間是什麼關係?架構框架
- 什麼是模式? 什麼是框架?模式框架
- 雲端計算的未來是超市模式還是電廠模式?模式
- 什麼是真正的架構設計?架構
- 程式設計師是什麼讓你停滯不前—是安逸,還是….程式設計師
- 例項解析Oracle是共享模式還是專用模式Oracle模式
- 你是碼農 還是優秀程式設計師?程式設計師
- 是先做資料庫設計還是先建模資料庫
- 什麼是設計模式設計模式
- Linux系統檢視伺服器是arm架構還是x86架構Linux伺服器架構
- Ruby on Rails中的MVC架構是如何工作的AIMVC架構
- 設計模式是在運用構造定律設計模式
- 程式設計師?還是小丑?程式設計師
- 設計思考:URL到底表徵的是資源還是操作?
- grafana 的主體架構是如何設計的?Grafana架構
- 什麼是軟體架構設計?- Grady架構
- 框架是銀彈?還是可能是?如果永遠都不是,是應該改改方向啦框架
- 入門Python程式設計是培訓還是自學好?Python程式設計
- 你是程式設計中的“快槍手”還是“慢悠悠”?程式設計
- 程式設計師月薪2000美元,是多還是少?程式設計師
- 程式設計師40歲後還在寫程式碼,是幸福還是悲哀?程式設計師
- pdf是圖片還是文件 pdf格式是文字檔案還是影像檔案
- 前端程式設計師市場分析:前面是火海,後面是刀山,走還是不走?前端程式設計師
- 新手學程式設計,到底是PHP好還是python好呢程式設計PHPPython
- react設計--他怎麼知道是類元件還是函式元件React元件函式
- 程式設計是更像數學還是人類語言?- MIT News程式設計MIT
- 你是開發工程師、程式設計師還是碼農?工程師程式設計師
- 從MVC框架看MVC架構的設計MVC框架架構
- 請問一個J2EE或WEB專案,先做物件設計還是表結構設計?Web物件
- 什麼是架構師架構
- 什麼是Lambda架構架構
- VIE架構是什麼架構
- 什麼是Saas架構?架構
- DCI架構是什麼?架構
- 概念架構是什麼架構
- 什麼是池架構?架構