GOF23設計模式之介面卡模式的實現

2021-06-29 13:54:14 字數 1873 閱讀 5998



/**

* 被適配的類:相當於本例子中的具有ps/2的鍵盤。可以滿足客戶的需求,但是計算機無法使用這個介面

* 也就是說,我們在這個類中定義的方法已經可以充分的完成客戶所需要的目標, 因此也就沒有必要重新再寫一遍了。

* 因此我們需要通過某種途徑,來使用這個方法

*/package com.bjsxt.cn.adapter;

public class adaptee 

}

/**

* 目標介面target相當於例子中的usb介面

* 介面,用於被實現。

*/package com.bjsxt.cn.adapter;

public inte***ce target 

/**

* 相當於本例子中的介面卡**換器),把不被計算機識別的ps/2介面轉換成可以識別的usb口

* 我們可以讓它直接繼承需要適配的類,這樣它自身就成為了鍵盤,也實現了target中的方法,成為了usb類的東西

* 這種方法叫做類介面卡

*/package com.bjsxt.cn.adapter;

public class adapter extends adaptee implements target
}

/**

* 相當於轉換器。介面卡。

* 我們所想要實現的功能是想要通過該類的物件,達到呼叫了被介面卡物件中的方法來滿足客戶的要求。

* 也就是說,我作為乙個個體,需要訪問的是另外乙個個體的東西。當然,我們可以直接結成這個另外的個體,

* 這樣在我們內部也就存在了乙份另外個體的東西。當然也可以有另外一種實現方式。那就是

* 讓我內部有乙個另外個體的引用(成員變數),通過這個引用,我們得以訪問另外個體的東西。

* 這就是組合,相應的,這種介面卡實現的方式叫做物件介面卡。

*/package com.bjsxt.cn.adapter;

public class adapter2 implements target
@override

public void handlereq()  }

/**

* 相當於本例子中的計算機,只有usb介面。也就是說可以使用target型別的東西。但是無法直接使用ps/2的鍵盤,

* 儘管鍵盤的功能已經非常完備

*  */

package com.bjsxt.cn.adapter;

public class client 

public static void main(string args) }/*

* 我作為pl/2鍵盤,也能打字,能夠滿足客戶的需求。

*  * */

/*

* 相當於本例中的計算機,只不過這個程式的介面卡是通過組合模式的物件介面卡實現的。

*  * */

package com.bjsxt.cn.adapter;

public class client2 

public static void main(string args) }/*

* 我作為pl/2鍵盤,也能打字,能夠滿足客戶的需求。

* */

GOF23 設計模式

design patterns elements of reusable object oriented software 即後述 設計模式 一書 由 erich gamma richard helm ralph johnson 和 john vlissides 合著 addison wesley,...

GOF23 設計模式 之工廠模式

工廠模式本質 例項化物件,工廠方法代替new操作 將實現類和建立物件統一管理和控制,將呼叫者和實現類解耦 工廠模式分為了三種 1,簡單工廠模式 最常用 對於新增產品 要修改 2,工廠方法模式 新增產品不用修改 複雜度高 3,抽象工廠模式 可以增加產品族,進行產品之間的搭配 一般用的少,框架可能會用到...

GOF23 設計模式 之狀態模式

狀態模式 就是事務有很多種狀態時需要應對的一種設計模式 場景有 1,銀行賬號狀態 2,酒店系統 3,多執行緒執行緒狀態 實現 1,狀態介面 package state public inte ce state2,狀態實現類 package state public class empty imple...