99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

Mybatis里有什么設計模式

本篇內容介紹了“Mybatis里有什么設計模式”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

成都創新互聯是專業的張店網站建設公司,張店接單;提供網站設計制作、成都網站建設,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行張店網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!

建造者設計模式

建造者模式(Builder  Pattern)使用多個簡單的對象一步一步構建成一個復雜的對象。這種類型的設計模式屬于創建型模式,它提供了一種創建對象的最佳方式。

在Mybatis中有SqlSessionFactoryBuilder,構建SqlSessionFactory, 這就是使用了建造者模式。

另外在Mybatis中類名以Builder結尾基本上都是建造者模式。下面是Mybatis中一個很完整的建造者模式:

Mybatis里有什么設計模式

XMLConfigBuilder :XML配置構建器,建造者模式,繼承BaseBuilder 。

工廠模式

就是專門創建某某對象的工廠,你要什么對象,盡管開口,能創建的我來創建,你無需知道是怎么創建出來的。

在Mybatis中以Factory結尾的類,基本上都是使用了工廠模式。

生活中案例:很多外包公司,做銀行系統,銀行只要把需求給他,給我做個什么什么系統,外包公司拼了命的叫老鐵們加班,最后趕出來了。外包公司就是工廠,銀行就是客戶端。客戶端不管你是怎么搞出來的,外包公司也不給銀行說。

比如說:

SqlSessionFactory:創建SqlSession對象。

ObjectFactory:對象工廠,所有對象都要由工廠來產生 。

MapperProxyFactory:創建映射器代理 MapperProxy對象。

單例模式

單例模式(Singleton Pattern)是 Java  中最簡單的設計模式之一。這種類型的設計模式屬于創建型模式,它提供了一種創建對象的最佳方式。這種模式涉及到一個單一的類,該類負責創建自己的對象,同時確保只有單個對象被創建。這個類提供了一種訪問其唯一的對象的方式,可以直接訪問,不需要實例化該類的對象。

生活中案例:習大大就只能有一個,太陽只有一個,月亮只有一個。

org.apache.ibatis.logging.LogFactory,日志工廠類。

為什么是單例模式呢?情況下面代碼:

Mybatis里有什么設計模式

org.apache.ibatis.executor.ErrorContext,

Mybatis里有什么設計模式

代理模式

在代理模式(Proxy Pattern)中,一個類代表另一個類的功能。這種類型的設計模式屬于結構型模式。

生活中的案例:房產中介、婚介所、黃牛黨等都是代理模式。

Mybatis實現的核心,比如MapperProxy為綁定我們開發的Mapper和Mapper.xml創建代理類、Plugin為每個插件創建一個代理類等。

Mybatis中尤其是動態代理使用的是相當的多,建議大家,先學習代理模式,然后在學習動態代理(JDK和CGlib這兩種),如果想看Mybatis源碼,動態代理是必須掌握的。

適配器模式

適配器模式(Adapter  Pattern)是作為兩個不兼容的接口之間的橋梁。這種類型的設計模式屬于結構型模式,它結合了兩個獨立接口的功能。這種模式涉及到一個單一的類,該類負責加入獨立的或不兼容的接口功能。

在Mybatis中,Log,對于Log4j、JDK、longging這些沒有直接是想slf4j接口的日志組件,需要適配器。

模板方法模式

在模板模式(Template  Pattern)中,一個抽象類公開定義了執行它的方法的方式/模板。它的子類可以按需要重寫方法實現,但調用將以抽象類中定義的方式進行。這種類型的設計模式屬于行為型模式。定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。

在Mybatis中,例如父類BaseExecutor,子類SimpleExecutor、BatchExecutor、ReuseExecutor。還有BaseTypeHandler和所有的子類例如IntegerTypeHandler;

基本都是在父類里實現一個通用的方法,然后創建一個抽象方法,這個抽象方法留給子類自己去實現。這個抽象方法也叫鉤子方法。

裝飾器模式

裝飾器模式(Decorator  Pattern)允許向一個現有的對象添加新的功能,同時又不改變其結構。這種類型的設計模式屬于結構型模式,它是作為現有的類的一個包裝。這種模式創建了一個裝飾類,用來包裝原有的類,并在保持類方法簽名完整性的前提下,提供了額外的功能。

實際開發中,大多數用于對老項目的某些功能進行擴展。新項目中一般不怎么用此模式。

生活中的案例:人靠衣裳馬靠鞍。美容照相機、沒有攝影機,美圖秀秀。

此設計模式重點在于對已有的功能進行擴展。

在Mybatis中,Cache的實現類LruCache、FifoCache等都是裝飾一個類PerpetualCache。常見代碼格式,就是裝飾類中會有個被裝飾類的屬性,并且這個屬性還是構造方法的參數。

責任鏈模式

任鏈模式(Chain of Responsibility  Pattern)為請求創建了一個接收者對象的鏈。這種模式給予請求的類型,對請求的發送者和接收者進行解耦。這種類型的設計模式屬于行為型模式。在這種模式中,通常每個接收者都包含對另一個接收者的引用。如果一個對象不能處理該請求,那么它會把相同的請求傳給下一個接收者,依此類推。

生活中的案例:

我們在OA系統發起一個審批,顯示項目經理,再是部門經理,再是HR,再是老板。

面試流程,顯示小組長面試里,項目經理面試,部門經理面試,HR面試。

在Mybatis中,InterceptorChain中有個屬性interceptors,其中就是保存了所有Mybatis的插件,執行插件的時候就是遍歷這個interceptors。A插件->B插件->C插件....

“Mybatis里有什么設計模式”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯網站,小編將為大家輸出更多高質量的實用文章!

當前標題:Mybatis里有什么設計模式
文章分享:http://www.yijiale78.com/article36/gjhepg.html

成都網站建設公司_創新互聯,為您提供網站建設App設計外貿網站建設網站制作手機網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管