设计模式(六)J2EE 模式
前言
本章設(shè)計(jì)模式只挑了一些必要的加以講解,因?yàn)橛械脑O(shè)計(jì)模式過于簡單或者根本用不到,可以不做了解。
MVC 模式
使用說明
MVC模式可以說是最有名的設(shè)計(jì)模式之一。它提出將軟件的數(shù)據(jù)模型Model、視圖Visual、控制器Controller三者分開封裝,通過彼此間通信,實(shí)現(xiàn)軟件功能。這樣分的好處是程序結(jié)構(gòu)清晰,便于開發(fā)維護(hù)。
例如,Qt中的窗口類屬于C控制器,窗口類中的ui文件屬于V視圖,而Model數(shù)據(jù)模型交給用戶實(shí)現(xiàn)。
再比如,Qt中的Model/View Programming,實(shí)現(xiàn)了Model、View的分離,而控制器C,可以由其所在窗口類實(shí)現(xiàn)。
此模式在很多軟件的開發(fā)中都存在,影響巨大而深遠(yuǎn)。
使用場景
一般在既有交互,又有數(shù)據(jù)處理的軟件系統(tǒng)中使用。
本質(zhì)
MVC模式的本質(zhì)是,它將一個(gè)軟件系統(tǒng)總體分成了三個(gè)邏輯部分,這三個(gè)邏輯部分耦合小,可以獨(dú)立封裝。它是一種更加粗粒度的設(shè)計(jì)模式,也是非常常用的設(shè)計(jì)模式。
數(shù)據(jù)訪問對(duì)象模式(DAO)
使用場景
把數(shù)據(jù)庫操作封裝成函數(shù),上層業(yè)務(wù)使用者無需關(guān)心數(shù)據(jù)庫操作細(xì)節(jié)。
本質(zhì)
數(shù)據(jù)訪問對(duì)象模式的本質(zhì)是將數(shù)據(jù)庫操作封裝起來,將上層業(yè)務(wù)和底層數(shù)據(jù)操作解耦合。
攔截過濾器模式
使用場景
用于對(duì)應(yīng)用程序的請(qǐng)求或響應(yīng)做一些預(yù)處理/后處理,類似于Hook鉤子。不過這里的鉤子不是函數(shù),而是對(duì)象。
使用說明
過濾器是埋在某些執(zhí)行點(diǎn)的鉤子對(duì)象,當(dāng)外部的過濾器安裝到指定位置以后,當(dāng)程序執(zhí)行到此位置,則會(huì)自動(dòng)執(zhí)行過濾器中的操作,實(shí)現(xiàn)了動(dòng)態(tài)程序流程插入的效果,和鉤子的效果一樣。
過濾器需要通過安裝、卸載接口實(shí)現(xiàn)動(dòng)態(tài)添加刪除。
Qt中使用此模式的部分有:Qt對(duì)象的QObject::eventFilter()虛函數(shù),以及用于安裝卸載的QObject::installEventFilter()函數(shù)。
本質(zhì)
攔截過濾器模式的本質(zhì)是,它封裝了鉤子操作,并通過安裝卸載機(jī)制從指定調(diào)用位置動(dòng)態(tài)增刪。
結(jié)語
本章的設(shè)計(jì)模式較少,但是都比較常見。
總結(jié)
以上是生活随笔為你收集整理的设计模式(六)J2EE 模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 余额宝还信用卡手续费是多少 余额宝还信用
- 下一篇: 还是太保守!三大机构均上调我国GDP预期