淺談框架與模式的關係
在javaEE中的開源框架太多了,其實每個框架大部分都是有一些經典的模式演變而來。對大家最熟悉了應該是Struts框架,我們知道它是典型的MVC設計模式的化身。還有我們最熟悉的,也是比較流行的框架Spring。它其實是工廠模式和單例模式的充分應用。框架和模式到底有什麼關係呢?
框架是一組相互協作的類,它構成了某類特定軟體的可複用設計。框架規定了應用體系結構,它定義了整體結構,類,和物件的分割,各部的主要責任,類,物件怎麼協作,以及控制流程。框架預定義了這些設計引數。以便於應用設計者或實現者能集中精力於應用本身的細節,因而框架更加強調設計複用。
模式其實就是解決某一類問題的方法論。把解決問題的方法總結歸納到理論高度,這就是模式。
框架和模式的主要區別:
<1>.模式比框架更抽象,框架能夠用程式碼表示,而模式只有其應用例項才能表示為程式碼。框架的威力在於它們能夠使用程式設計語言寫出來,它們不僅能被學習,也能被直接執行和複用。而模式在每次被複用時,都需要實現。
<2>.模式是比框架更小的體系結構,一個典型的框架包括了多個模式,而反之並不如此。
<3>.框架比模式更加特例化,框架總是針對一個特定的應用領域。而模式幾乎能被用於任何應用。
本文轉自 weijie@java 51CTO部落格,原文連結:http://blog.51cto.com/weijie/66944,如需轉載請自行聯絡原作者
相關文章
- 淺談OOCSS、SMACSS、BEM三種設計模式與前端架構優化的關係CSSMac設計模式前端架構優化
- 淺談框架模式 MVC、MVP 和 MVVM框架模式MVCMVPMVVM
- 淺談前端MVC與MVVC模式前端MVC模式
- 淺談框架框架
- 談談BPM、工作流引擎與OA的關係
- 談Ubuntu與FOSS之間的關係(轉)Ubuntu
- 談談資料制度與資料標準的關係
- 淺談法律與輿論的關係——以許霆案與藥家鑫案為例(上)
- 關係型資料庫 RDBMS 的舊與新 — 談談 NewSQL資料庫SQL
- 測試漫談:QA與涉眾的關係
- 淺談跨平臺框架Flutter的搭建與執行框架Flutter
- 好程式設計師淺談大資料與Hadoop有什麼關係程式設計師大資料Hadoop
- 淺談JAVA集合框架(引的)Java框架
- 淺談 Fiori Fundamentals 和 SAP UI5 Web Components 的關係UIWeb
- 淺談Spring框架Spring框架
- 談談 JDK 和 SAPMachine 的關係JDKMac
- 談談IT圈的門檻與學歷的關係以及如何避免青春飯?
- RMAN連線與oracle連線模式的關係Oracle模式
- 與if的關係
- 資料庫的FLASHBACK 與ARCHIVELOG模式的關係資料庫Hive模式
- 淺談Android開發中記憶體洩露與優化與框架模式之MVC與MVPAndroid記憶體洩露優化框架模式MVCMVP
- 淺談graphql的訂閱模式模式
- 淺談跨平臺框架 Flutter 的優勢與結構框架Flutter
- 淺談模板方法模式模式
- 淺談策略模式(strategy)模式
- 淺談顏色模式模式
- 淺析Node模組中module.exports與exports的關係Export
- 淺談Mybatis中是如何實現這種多表關係的對映MyBatis
- 淺談 Fresco 框架結構框架
- Activity 的啟動模式 以及與AppManager類的關係模式APP
- AJAX請求真的不安全麼?談談Web安全與AJAX的關係。Web
- 淺談設計模式——工廠模式設計模式
- 淺談設計模式——單例模式設計模式單例
- 關聯關係與依賴關係的區別
- 淺談使用者需求和技術創新:雞和蛋的關係?
- 淺談Oracle的受限模式(Restricted Mode)Oracle模式REST
- 設計模式--UML關係與程式碼對照設計模式
- 淺談Storm流式處理框架ORM框架