1. 程式人生 > >設計模式-門面模式與介面卡模式

設計模式-門面模式與介面卡模式

//門面模式
var DED = window.DED || {}
DED.util = {
	stopPropagation:function(e){
		if(e.stopPropagation){
			//w3 interface
			e.stopPropagation();
		}else{
			//IE interface
			e.cancelBubble = true;
		}
	},
	preventDefault:function(e){
		if(e.preventDefault){
			//W3
			e.preventDefault();
		}else{
			//IE interface
			e.returnValue = false;
		}
	},
	stopEvent:function(e){
		DED.util.stopPropagation(e);
		DED.util.preventDefault(e);
	}
}
//介面卡模式
var clientObject = {
	string1:'foo',
	string2:'bar',
	string3:'baz'
};
function interfaceMethod(str1,str2,str3){

}
//為了把clientObject作為引數傳遞給
function clientToInterfaceAdapter(o){
	interfaceMethod(o.string1,o.string2,o.string3);
}


/*門面模式與介面卡模式區別
從表面上看,介面卡模式很像門面模式。他們都要對別的物件進行包裝並改變其呈現的介面。
二者的差別在與他們如何改變介面。門面元素展現的是一個簡化的介面,它並不是提供額外的
選擇,而且有時為了方便完成常見任務它還會做出一些假定。而介面卡則把一個介面轉換為另
一個介面,它並不會濾除某些能力,也不會簡化介面。

自己的話描述:門面為了更方面;介面卡是不得已,老介面已經不可用了。*/


相關推薦

設計模式-門面模式介面卡模式

//門面模式 var DED = window.DED || {} DED.util = { stopPropagation:function(e){ if(e.stopPropagation){ //w3 interface e.stopPropagat

Swift 中的設計模式 #3 外觀模式介面卡模式

作者:Andrew Jaffee,原文連結,原文日期:2018-09-04 譯者:鄭一一;校對:BigNerdCoding,pmst,Forelax;定稿:Forelax 本文是我的設計模式系列教程的第三篇。在第一篇文章中,我介紹了 建立型模式中的工廠模式和單例模式。在第二篇文章中,又討論了一下

設計模式-策略模式介面卡模式

某移動支付系統(PaySystem)在實現賬戶資金轉入和轉出時需進行身份驗證,該系統為使用者提供了多種身份驗證方式,例如密碼驗證(PasswordValidator)、指紋驗證(FingerprintV

設計模式(五)介面卡模式Adapter(結構型)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Java IO框架介面卡模式、裝飾器模式

IO框架: 介面卡模式: 介面卡模式(Adapter Pattern)是作為兩個不相容的介面之間的橋樑。這種型別的設計模式屬於結構型模式,它結合了兩個獨立介面的功能。 這種模式涉及到一個單一的類,該類負責加入獨立的或不相容的介面功能。舉個真實的例子,讀卡器是作為記憶體卡和筆

設計模式之禪(5)-介面卡模式

文章目錄 一、介面卡模式是什麼 二、把鴨子“適配”為狗 三、把列舉介面適配為迭代器介面 更多關於設計模式的文章請點選:設計模式之禪(0)-目錄頁 介面卡模式是面向物

PHP設計模式(2)—— 介面卡模式

介面 我們先來看看介面的作用 interface Database{ public function connect(); public function query(); public function close(); } class Mysql i

設計模式之詳解——介面卡模式

介面卡模式 介面卡模式將某個類的介面轉換成客戶端期望的另一個介面表示,目的是消除由於介面不匹配所造成的類的相容性問題。主要分為三類:類的介面卡模式、物件的介面卡模式、介面的介面卡模式。 類的介面卡模式 當希望將一個類轉換成滿足另一個新介面的類時,可以使用類的介面

java23種設計模式-門面(外觀)模式

定義 外觀模式為子系統的一組介面提供一個一致的介面,此模式定義了一個高層介面,這個介面使得這一子系統更加容易使用。 UML 角色 子系統(SubSystem): 表示一個系統的子系統或者模組 門面(Facade): 客戶端通過門面間接控制子系統。門面遮蔽

設計模式(七)——介面卡模式

介面卡模式:將一個類的介面,轉換成客戶期望的另一個介面。介面卡讓原本介面不相容的類可以無間合作。          這個模式可以建立介面卡進行介面轉換,讓不相容的介面變成相容。 這個模式主要有四個部分: Client:客戶 Target:目標介面 A

設計模式(六)—— 介面卡模式

1. 介紹 介面卡模式是把一個類的介面變換成客戶端的所期待的另一個介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作。 2. 分類 介面卡模式有類的介面卡模式和物件的介面卡模式兩種形式。 2.1 類的介面卡模式 類的介面卡模式是把適配的類的API轉換成為目標類的A

設計模式》學習筆記——介面卡模式

介面卡模式(Adapter Pattern)是作為兩個不相容的介面之間的橋樑。 將一個類的介面轉換成另一個類的介面,使原本因為介面不相容的類能夠相互工作。 這種型別的設計模式屬於結構型模式,它結合了兩個

Java設計模式(5)--介面卡模式

介面卡模式主要是用於補救的,為什麼這麼說呢,拿上一章的觀察者模式來說: 1、jdk中的觀察者Observer,是一個介面,如果我們有一個類Male,要實現觀察者的功能,那麼直接實現Observer介面即可,但是,如果需要是,既要有Observer的功能,也要有

設計模式(二)------介面卡模式

介紹 介面卡模式(Adapter Pattern)是作為兩個不相容的介面之間的橋樑。這種型別的設計模式屬於結構型模式,它結合了兩個獨立介面的功能。 這種模式涉及到一個單一的類,該類負責加入獨立的或不相容的介面功能。舉個真實的例子,讀卡器是作為記憶體卡和筆記本

設計模式學習筆記】介面卡模式

介面卡模式,你有我需要的資訊但是我倆資訊封裝的型別不同,你無法直接給我。就像我又一個三腳插頭,你是兩孔的插座。需要一個轉換器,讓我用上你的電。P.S.:很危險,不要幹這種事。。。 文章目錄           1.1

【轉】【設計模式】 三種介面卡模式 總結和使用場景

一 概述定義:介面卡模式將某個類的介面轉換成客戶端期望的另一個介面表示,主的目的是相容性,讓原本因介面不匹配不能一起工作的兩個類可以協同工作。其別名為包裝器(Wrapper)。屬於結構型模式主要分為三類:類介面卡模式、物件的介面卡模式、介面的介面卡模式。本文定義:需要被適配的

淺談簡單工作流設計——責任鏈模式配合策略命令模式的實現

本文以專案中的一個工作流模組,演示責任鏈模式、策略模式、命令模式的組合實現! 流程簡介 最近在做的一個專案,涉及到的是一個流程性質的需求。關於工程機械行業的服務流程:服務任務流程和備件發運流程。 專案之初,需求不是很清晰,算是演化模型吧。先出一個簡單版本,然後根據使用者的

設計模式php例項:介面卡模式

介面卡模式將一個類的換成客戶端需要的另一個介面,使原本不相容的介面能一起工作。一個現實中的例子,假如屋裡牆上只有兩項插口,而風扇有三個插頭,這時需要再拿一個移動插線板,插線板接入牆壁插口的一段是兩項插頭,插線板另外一段能夠提供三項插口給風扇,這時候插線板起到了一個介面卡的作

設計模式(java)- 介面卡模式

1. 簡介   介面卡模式是將兩個介面不相容的類連線在一起,使其可以進行工作,它是一種結構性設計模式。它主要為了滿足客戶需要的介面,通過中間的適配層來匹配使用者所需要的功能。   例如,我們在維護老的專案的時候,B組重構了自己組內的程式碼,此時他們也需要修改自己

設計模式最終總結】介面卡模式

什麼是介面卡 我的膝上型電腦的工作電壓是20V,而我國的家庭用電是220V,如何讓20V的膝上型電腦能夠在220V的電壓下工作?答案是引入一個電源介面卡(AC Adapter),俗稱充電器或變壓器,有了這個電源介面卡,生活用電和膝上型電腦即可相容。 在軟體開發中,有時也存在類似這種不相容的情況,我們也可以