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

介面卡設計模式

什麼是介面卡模式?

將一個類的介面轉換成客戶希望的另一個介面,Adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。

模式中的角色:

目標介面(target):客戶所期待的介面。目標可以是具體的或者抽象的類,也可以是介面。

需要適配的類(Adaptee):需要適配的類或適配者類。

介面卡(Adapter):通過包裝一個需要適配的物件,把原介面轉換成目標介面

類圖:


以鍵盤和pc操作為例

建立一個適配介面:

package com.gcxzflgl.adapter;

public interface Target {
	void handleReq();
}

建立被適配的類

package com.gcxzflgl.adapter;

/**
 * 被適配的類
 * (相當於例子中的,PS/2鍵盤)
 * @author Administrator
 *
 */
public class Adaptee {
	
	public void request(){
		System.out.println("可以完成客戶請求的需要的功能!");
	}
}

建立介面卡:

package com.gcxzflgl.adapter;

/**
 * 介面卡 (物件介面卡方式,使用了組合的方式跟被適配物件整合)
 * (相當於usb和ps/2的轉接器)
 * @author Administrator
 *
 */
public class Adapter2  implements Target {
	
	private Adaptee adaptee;
	
	@Override
	public void handleReq() {
		adaptee.request();
	}

	public Adapter2(Adaptee adaptee) {
		super();
		this.adaptee = adaptee;
	}
	
	
	
}

模擬客戶端進行呼叫:

package com.gcxzflgl.adapter;

/**
 * 客戶端類
 * (相當於例子中的筆記本,只有USB介面)
 * @author Administrator
 *
 */
public class Client {
	
	public void test1(Target t){
		t.handleReq();
	}
	
	public static void main(String[] args) {
		Client  c = new Client();
		Adaptee a = new Adaptee();
		Target t = new Adapter2(a);
		c.test1(t);
		
	}
	
}


相關推薦

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

設計模式---介面卡設計模式   什麼事介面卡: 1. 在使用監聽的時候,需要定義一個類事件監聽器介面 2. 通常介面中有多個方法,而程式中不一定所有的方法都用到,但又必須重寫,很繁瑣 3. 介面卡簡化了這些操作,我們定義監聽器只需要繼承介面卡,然後重寫需要的方法即可

java流:字元緩衝流,裝飾設計模式介面卡設計模式,位元組流

字元緩衝流之緩衝寫出流BufferedWriter package com.qianfeng.test; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; /*

簡單介紹介面卡設計模式(內含程式碼分析)

介面卡(Adapter Pattern) 就是有一個已有的類,但是這個類的介面和你的不一樣,不能直接拿來使用,這個時候就需要使用介面卡來幫你了.     介面卡的三個特點 :        &nb

java第20天----字元緩衝流,位元組流,標準輸入流,裝飾設計模式介面卡設計模式

昨天知識總結 1.流的基礎 2.流的分類 3.字元流 讀 FileReader 寫 FileWriter 4.File 流 字元緩衝流 字元緩衝流:又叫字元緩衝區,為了提高讀寫的能力,本身沒有讀寫的能力,要想進行讀寫,必須依靠字元流來實現。

java 介面卡 設計模式 詳解

java 介面卡 設計模式   介面卡模式:將一個類的介面換成客戶希望的另外一個藉口。介面卡模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。 oo設計原則: 面向介面程式設計(面向抽象程式設計) 封裝變化 多用組合,少用繼承 對修改關閉,對擴充

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

今天覆習這樣一種設計模式,當客戶端想要使用一個類,但是這個類的介面並不符合客戶端的要求時,我們就會想到這個設計模式——介面卡設計模式,把一個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作。介面卡模式分為兩種:類的介面卡模

十九、介面卡設計模式

1. 介面卡模式介紹 我們在日常生活中,會經常接觸到設配器模式,比如我們的充電器,不同的手機介面型別可能不一樣,這個時候只要一個轉介面,就可以解決我們的問題。這個轉介面就是我們的介面卡。 定義 介面卡模式把一個類的介面變換成客戶端所期待的另一種介面,從

C#:介面卡設計模式如何讓您的生活更輕鬆

目錄 介紹 文章的目標 理解本文您需要知道什麼 介面卡設計模式的簡要提示 第一個示例:靜態.NET類 第二個示例:使用第三方記錄器替換自定義記錄器 第三個示例:使用不同的自定義記錄器替換自定義記錄器 第四個示例:將舊靜態類調整為新程式碼 結論 4個使用

Java設計模式(七):介面卡設計模式

1. 應用場景 在軟體開發中,也就是系統的資料和行為都正確,但介面不相符時,我們應該考慮用介面卡,目的是使控制範圍之外的一個原有物件與某個介面匹配。介面卡模式主要應用於希望複用一些現存的類,但是介面又與複用環境要求不一致的情況。比如在需要對早期程式碼複用一些功能等應用上很有實際價值。適用

介面卡設計模式

什麼是介面卡模式?將一個類的介面轉換成客戶希望的另一個介面,Adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。模式中的角色:目標介面(target):客戶所期待的介面。目標可以是具體的或者抽象的類,也可以是介面。需要適配的類(Adaptee):需要適

介面卡設計模式簡單實現

1、介面卡設計模式場景 當前類不能滿足客戶端需求,但又不能修改當前類(開閉原則),因此建立【介面卡類】和【客戶端目標介面】,實現方式有兩種:1)介面卡類【繼承】當前類並實現目標介面;2)介面卡類包含當前類引用並實現目標介面 2、程式碼實現 /**

GUI_介面卡設計模式講解

package cn.itcast_03; /* * 問題: * 介面(方法比較多) -- 實現類(僅僅使用一個,也得把其它的實現給提供了,那怕是空實現) * 太麻煩了。 * 解決問

Java設計模式介面卡設計模式

為什麼要使用介面卡設計模式 在編寫專案的過程中,很多的時候寫好了一個程式碼量很多的類,突然要增加一個功能,但是在最初的設計專案的時候並沒有考慮到了這一點,所以為了提高程式碼的可擴充套件和可維護性,我們可以引入Java設計模式中的介面卡模式。舉個簡單的勵志,在我們電腦下載好了一些歌曲,我們需要把這些歌曲的檔案

23種設計模式---介面卡模式

package com.bjpowernode.demo03; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.Inpu

設計模式的藝術 結構型模式介面卡模式

不懂使用為學過,說出用途,繪製結構為了解,不會靈活使用基本等於沒學。 前言 有的筆記本工作電壓是20V,而中國家庭用電的電壓是220V,如何讓20V的筆記本在220V的電壓下工作,答案就是進入一個電源介面卡,這樣才能相容,在軟體開發中也有這種不相容的情況,這時候也可以像電源介面卡的方法一樣來

一天一個設計模式介面卡模式

概念:   介面卡模式是把一個類的介面變成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作。 用途:   就像插頭轉換器,之前入了switch港版,插頭是英式的,還好附贈一個插頭轉換器,介面卡就相當於這個轉換器。 種類:   分為類的介面卡與物件的介面卡兩種

java設計模式4.介面卡模式、裝飾器模式

介面卡模式 把一個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠工作。 1. 類的介面卡模式 目標角色:期望的介面,對於類的介面卡模式,此角色不可以是具體類。 源角色:需要適配的介面。 介面卡角色:把源介面轉換成目標介面,此角色必須是具

android設計模式——介面卡模式

    定義:介面卡模式就是把一個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配的而無法工作的兩個類能夠一起工作 使用場景: 系統要使用現有的類,但此類的介面不符合系統的需要,即介面不相容。 想要建立一個可以重複使用的類,用於與一些彼此之

設計模式——介面卡模式和外觀模式

介面卡模式和外觀模式 本文將分別介紹介面卡模式和外觀模式。 1、介面卡模式 1.1、定義 介面卡模式 將一個類的介面,轉換成客戶期望的另一個介面。介面卡讓原本介面不相容的類可以合作無間。 介面卡模式的定義非常易懂,就是將一個介面轉換成另一個介面,這樣一來就實現了介面的

設計模式——07 介面卡模式

07 Adapter Pattern(介面卡模式)          前言:通過將類的介面轉換成想要的介面,以便實現不用的介面。我們的程式可以用新的介面來封裝舊的介面,而客戶是無感知地呼叫新介面或者舊介面。 例子