91操毛视频,内射美女18,欧美激情五区一区,日本精品久久久久中文人妻,色婷婷国产一区二区,麻豆久久久国内精品,青青色综合,色先锋日韩激情五月天AV,精品综合精品产品精品

適配器模式和代理模式的區(qū)別

鉅大鋰電  |  點(diǎn)擊量:0  |  2020年02月12日  

代理模式

組成:


抽象角色:通過(guò)接口或抽象類(lèi)聲明真實(shí)角色實(shí)現(xiàn)的業(yè)務(wù)方法。


代理角色:實(shí)現(xiàn)抽象角色,是真實(shí)角色的代理,通過(guò)真實(shí)角色的業(yè)務(wù)邏輯方法來(lái)實(shí)現(xiàn)抽象方法,并可以附加自己的操作。


真實(shí)角色:實(shí)現(xiàn)抽象角色,定義真實(shí)角色所要實(shí)現(xiàn)的業(yè)務(wù)邏輯,供代理角色調(diào)用。


即proxypattern,23種常用的面向?qū)ο筌浖脑O(shè)計(jì)模式之一。(設(shè)計(jì)模式的說(shuō)法源自《設(shè)計(jì)模式》一書(shū),原名《Designpatterns:ElementsofReusableObject-OrientedSoftware》。1995年出版,出版社:AddisonWeslyLongman.Inc。該書(shū)提出了23種基本設(shè)計(jì)模式,第一次將設(shè)計(jì)模式提升到理論高度,并將之規(guī)范化。)


代理模式的定義:為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)。在某些情況下,一個(gè)對(duì)象不適合或者不能直接引用另一個(gè)對(duì)象,而代理對(duì)象可以在客戶(hù)端和目標(biāo)對(duì)象之間起到中介的作用。


(1)職責(zé)清晰


真實(shí)的角色就是實(shí)現(xiàn)實(shí)際的業(yè)務(wù)邏輯,不用關(guān)心其他非本職責(zé)的事務(wù),通過(guò)后期的代理完成一件完成事務(wù),附帶的結(jié)果就是編程簡(jiǎn)潔清晰。


(2)代理對(duì)象可以在客戶(hù)端和目標(biāo)對(duì)象之間起到中介的作用,這樣起到了中介的作用和保護(hù)了目標(biāo)對(duì)象的作用。


(3)高擴(kuò)展性



適配器模式

在計(jì)算機(jī)編程中,適配器模式(有時(shí)候也稱(chēng)包裝樣式或者包裝)將一個(gè)類(lèi)的接口適配成用戶(hù)所期待的。一個(gè)適配允許通常因?yàn)榻涌诓患嫒荻荒茉谝黄鸸ぷ鞯念?lèi)工作在一起,做法是將類(lèi)自己的接口包裹在一個(gè)已存在的類(lèi)中。


共有兩類(lèi)適配器模式:


對(duì)象適配器模式


--在這種適配器模式中,適配器容納一個(gè)它包裹的類(lèi)的實(shí)例。在這種情況下,適配器調(diào)用被包裹對(duì)象的物理實(shí)體。


類(lèi)適配器模式


--這種適配器模式下,適配器繼承自已實(shí)現(xiàn)的類(lèi)(一般多重繼承)。


使用的前提:


1.接口中規(guī)定了所有要實(shí)現(xiàn)的方法


2.但一個(gè)要實(shí)現(xiàn)此接口的具體類(lèi),只用到了其中的幾個(gè)方法,而其它的方法都是沒(méi)有用的。


實(shí)現(xiàn)方法


1.用一個(gè)抽象類(lèi)實(shí)現(xiàn)已有的接口,并實(shí)現(xiàn)接口中所規(guī)定的所有方法,這些方法的實(shí)現(xiàn)可以都是平庸實(shí)現(xiàn)----空方法;但此類(lèi)中的方法是具體的方法,而不是抽象方法,否則的話,在具體的子類(lèi)中仍要實(shí)現(xiàn)所有的方法,這就失去了適配器本來(lái)的作用。


2.原本要實(shí)現(xiàn)接口的子類(lèi),只實(shí)現(xiàn)1中的抽象類(lèi)即可,并在其內(nèi)部實(shí)現(xiàn)時(shí),只對(duì)其感興趣的方法進(jìn)行實(shí)現(xiàn)。


注意事項(xiàng)


1.充當(dāng)適配器角色的類(lèi)就是:實(shí)現(xiàn)已有接口的抽象類(lèi)


2.為什么要用抽象類(lèi):


此類(lèi)是不要被實(shí)例化的。而只充當(dāng)適配器的角色,也就為其子類(lèi)提供了一個(gè)共同的接口,但其子類(lèi)又可以將精力只集中在其感興趣的地方。


模式解析


你想使用一個(gè)已經(jīng)存在的適配器模式,而他的接口不符合你的需求。你想創(chuàng)建一個(gè)可以復(fù)用的類(lèi),該類(lèi)可以與其他不相關(guān)的類(lèi)或不可預(yù)見(jiàn)的類(lèi)協(xié)同工作。你想使用一些已經(jīng)存在的子類(lèi),但是不可能對(duì)每一個(gè)都進(jìn)行子類(lèi)化已一匹配他們的接口,對(duì)象適配器可以適配他的父類(lèi)接口。適配器如同一個(gè)常見(jiàn)的變壓器,也如同電腦的變壓器和插線板之間的電源連接線,他們雖然都是3相的,但是電腦后面的插孔卻不能直接插到插線板上。



適配器模式和代理模式的區(qū)別

一簡(jiǎn)介


適配器模式:適配器模式(英語(yǔ):adapterpattern)有時(shí)候也稱(chēng)包裝樣式或者包裝。將一個(gè)類(lèi)的接口轉(zhuǎn)接成用戶(hù)所期待的。一個(gè)適配使得因接口不兼容而不能在一起工作的類(lèi)工作在一起,做法是將類(lèi)別自己的接口包裹在一個(gè)已存在的類(lèi)中。


代理模式:為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)。在某些情況下,一個(gè)對(duì)象不適合或者不能直接引用另一個(gè)對(duì)象,而代理對(duì)象可以在客戶(hù)端和目標(biāo)對(duì)象之間起到中介的作用。


二困惑


設(shè)計(jì)模式總是通過(guò)增加層來(lái)進(jìn)行解耦合,提高擴(kuò)展性,但是如果我們沒(méi)法從在這個(gè)抽象維度中看出,這個(gè)層真正的抽象含義,那么我們很難搞懂一個(gè)模式真正的內(nèi)涵?我就有這個(gè)疑問(wèn),這兩個(gè)東東都是增加了一層,但是這一層有什么區(qū)別?


三理解


很明顯,適配器模式是因?yàn)樾屡f接口不一致導(dǎo)致出現(xiàn)了客戶(hù)端無(wú)法得到滿(mǎn)足的問(wèn)題,但是,由于舊的接口是不能被完全重構(gòu)掉的,因?yàn)槲覀冞€想使用實(shí)現(xiàn)了這個(gè)接口的一些服務(wù)。那么為了使用以前實(shí)現(xiàn)舊接口的服務(wù),我們就應(yīng)該把新的接口轉(zhuǎn)換成舊接口;實(shí)現(xiàn)這個(gè)轉(zhuǎn)換的類(lèi)就是抽象意義的轉(zhuǎn)換器。


就比如在java中早期的枚舉接口是EnumeraTIon而后定義的枚舉接口是Iterator;有很多舊的類(lèi)實(shí)現(xiàn)了enumeraTIon接口暴露出了一些服務(wù),但是這些服務(wù)我們現(xiàn)在想通過(guò)傳入Iterator接口而不是EnumeraTIon接口來(lái)調(diào)用,這時(shí)就需要一個(gè)適配器,那么client就能用這個(gè)服務(wù)了(服務(wù)端只想用Iterator或者只知道這個(gè)接口)。


相比于適配器的應(yīng)用場(chǎng)景,代理就不一樣了,雖然代理也同樣是增加了一層,但是,代理提供的接口和原本的接口是一樣的,代理模式的作用是不把實(shí)現(xiàn)直接暴露給client,而是通過(guò)代理這個(gè)層,代理能夠做一些處理。


技術(shù)專(zhuān)區(qū)慕展上,世強(qiáng)帶來(lái)的SiC、GaN、三電平讓你的效率直達(dá)最high點(diǎn)如何利用二級(jí)輸出濾波器防止開(kāi)關(guān)電源噪聲陶瓷垂直貼裝封裝(CVMp)的焊接注意事項(xiàng)及布局DC-DC轉(zhuǎn)換器的平均小信號(hào)數(shù)學(xué)建模及環(huán)路補(bǔ)償設(shè)計(jì)常用基準(zhǔn)穩(wěn)壓電源產(chǎn)生辦法有哪些?

相關(guān)產(chǎn)品

新邵县| 汽车| 湘潭县| 清流县| 固始县| 凤山县| 嘉善县| 石楼县| 大余县| 大新县| 夹江县| 阿荣旗| 东光县| 师宗县| 峨眉山市| 乐昌市| 蓝田县| 峨边| 大渡口区| 若羌县| 柏乡县| 比如县| 肇东市| 阿尔山市| 如东县| 长葛市| 清原| 常山县| 蓬安县| 布拖县| 凤阳县| 甘孜县| 拜泉县| 哈密市| 彭州市| 江都市| 河间市| 柳江县| 阳原县| 曲周县| 缙云县|