淺談框架與模式的關係
在javaEE中的開源框架太多了,其實每個框架大部分都是有一些經典的模式演變而來。對大家最熟悉了應該是Struts框架,我們知道它是典型的MVC設計模式的化身。還有我們最熟悉的,也是比較流行的框架Spring。它其實是工廠模式和單例模式的充分應用。框架和模式到底有什麼關係呢?
框架是一組相互協作的類,它構成了某類特定軟體的可複用設計。框架規定了應用體系結構,它定義了整體結構,類,和物件的分割,各部的主要責任,類,物件怎麼協作,以及控制流程。框架預定義了這些設計引數。以便於應用設計者或實現者能集中精力於應用本身的細節,因而框架更加強調設計複用。
模式其實就是解決某一類問題的方法論。把解決問題的方法總結歸納到理論高度,這就是模式。
框架和模式的主要區別:
<1>.模式比框架更抽象,框架能夠用程式碼表示,而模式只有其應用例項才能表示為程式碼。框架的威力在於它們能夠使用程式設計語言寫出來,它們不僅能被學習,也能被直接執行和複用。而模式在每次被複用時,都需要實現。
<2>.模式是比框架更小的體系結構,一個典型的框架包括了多個模式,而反之並不如此。
<3>.框架比模式更加特例化,框架總是針對一個特定的應用領域。而模式幾乎能被用於任何應用。
本文轉自 weijie@java 51CTO部落格,原文連結:http://blog.51cto.com/weijie/66944,如需轉載請自行聯絡原作者
相關文章
- 淺談OOCSS、SMACSS、BEM三種設計模式與前端架構優化的關係CSSMac設計模式前端架構優化
- 淺談前端MVC與MVVC模式前端MVC模式
- 談談BPM、工作流引擎與OA的關係
- 談談資料制度與資料標準的關係
- 淺談法律與輿論的關係——以許霆案與藥家鑫案為例(上)
- 談談 JDK 和 SAPMachine 的關係JDKMac
- 淺談 Fiori Fundamentals 和 SAP UI5 Web Components 的關係UIWeb
- 好程式設計師淺談大資料與Hadoop有什麼關係程式設計師大資料Hadoop
- 淺談Spring框架Spring框架
- 關係型資料庫 RDBMS 的舊與新 — 談談 NewSQL資料庫SQL
- 淺談跨平臺框架Flutter的搭建與執行框架Flutter
- 淺談graphql的訂閱模式模式
- 淺談Mybatis中是如何實現這種多表關係的對映MyBatis
- 談談IT圈的門檻與學歷的關係以及如何避免青春飯?
- 淺談工廠模式模式
- 淺談跨平臺框架 Flutter 的優勢與結構框架Flutter
- 淺談 Fresco 框架結構框架
- 淺談設計模式——單例模式設計模式單例
- 淺談設計模式——工廠模式設計模式
- 淺析Node模組中module.exports與exports的關係Export
- 淺談tomcat執行模式Tomcat模式
- Python中的賦值與淺複製與深複製之間的關係Python賦值
- Runnable,Callable,Future關係淺析
- 淺談WebSocket協議、WS協議和WSS協議原理及關係Web協議
- 淺析六西格瑪管理方法論與ERP的關係
- GNU與Linux 的關係Linux
- Scala與Java的關係Java
- Object與Class的關係Object
- 淺談MVC/MVP/MVVM模式(概述)MVCMVPMVVM模式
- 淺談網路靶場的關鍵能力與應用方向
- 淺談ActiveMQ與使用MQ
- VirtualDOM與DomDiff淺談
- 淺談:redis的主從複製 + 哨兵模式Redis模式
- 社交對話之社交雜談3:社交與長線留存的關係
- 淺談k8s中cni0和docker0的關係和區別K8SDocker
- 淺談遊戲內攝影模式的流行原因與發展潛力遊戲模式
- SQL與NoSQL(關係型與非關係型)資料庫的區別SQL資料庫
- 圖片與向量的關係
- JSON 與 JS 物件的關係JSON物件