今天小編給大家分享一下web適配器模式結(jié)構(gòu)是怎樣的的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。
專業(yè)從事成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),高端網(wǎng)站制作設(shè)計(jì),成都微信小程序,網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團(tuán)隊(duì)竭力真誠(chéng)服務(wù),采用H5高端網(wǎng)站建設(shè)+CSS3前端渲染技術(shù),響應(yīng)式網(wǎng)站建設(shè),讓網(wǎng)站在手機(jī)、平板、PC、微信下都能呈現(xiàn)。建站過(guò)程建立專項(xiàng)小組,與您實(shí)時(shí)在線互動(dòng),隨時(shí)提供解決方案,暢聊想法和感受。
動(dòng)機(jī)
上面的類圖說(shuō)明了對(duì)象適配器實(shí)例。它說(shuō)明了在Shape類中聲明的BoundingBox請(qǐng)求如何被轉(zhuǎn)換成在TextView類中定義的GetExtent請(qǐng)求。由于TextShape將TextView的接口與Shape的接口進(jìn)行了匹配,因此繪圖編輯器就可以復(fù)用原先并不兼容的TextView類。
這是適配器模式中使用已有功能的例子,BoundingBox是圖形編輯軟件一側(cè)的要求,如果既有庫(kù)一側(cè)也具有類似的功能,那么就使用它。一般來(lái)講這時(shí)會(huì)根據(jù)需要對(duì)參數(shù),調(diào)用的接口進(jìn)行調(diào)整。使用即有庫(kù)中的功能是使用適配器模式的目的。
Adapter時(shí)常還要負(fù)責(zé)提供那些被匹配的類所沒(méi)有提供的功能,上面的類圖中說(shuō)明了適配器如何實(shí)現(xiàn)這些職責(zé)。由于繪圖編輯器允許用戶交互的將每一個(gè)Shape對(duì)象“拖動(dòng)”到一個(gè)新的位置,而TextView設(shè)計(jì)中沒(méi)有這種功能。我們可以實(shí)現(xiàn)TextShape類的CreateManipulator操作,從而增加這個(gè)缺少的功能,這個(gè)操作返回相應(yīng)的Manipulator子類的一個(gè)實(shí)例。
當(dāng)然也存在某些功能需既有庫(kù)中中不支持的情況。這時(shí)就需要再適配器中實(shí)現(xiàn)。一般來(lái)講,自己實(shí)現(xiàn)的部分應(yīng)該是相對(duì)容易,且工作量較小的部分,否則使用適配器模式的效果就會(huì)打折扣了。
Manipulator是一個(gè)抽象類,它所描述的對(duì)象知道如何驅(qū)動(dòng)Shape類響應(yīng)相應(yīng)的用戶輸入,例如將圖形拖動(dòng)到一個(gè)新的位置。對(duì)應(yīng)于不同形狀的圖形,Manipulator有不同的子類;例如子類TextManipulator對(duì)應(yīng)于TextShape。TextShape通過(guò)返回一個(gè)TextManipulator實(shí)例,增加了TextView中缺少而Shape需要的功能。
生成Manipulator實(shí)例也是圖形編輯軟件的需要,適配器的實(shí)例可以生成適合于自己的Manipulator具象類,而這個(gè)類可以只使用圖形編輯軟件定義的功能,也可以使用即有庫(kù)的功能。
以上就是“web適配器模式結(jié)構(gòu)是怎樣的”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當(dāng)前文章:web適配器模式結(jié)構(gòu)是怎樣的
當(dāng)前鏈接:http://chinadenli.net/article10/gddogo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、網(wǎng)站維護(hù)、品牌網(wǎng)站制作、做網(wǎng)站、虛擬主機(jī)、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)