fancydeepin
毋意,毋必,毋固,毋我。
BlogJava
首頁
新隨筆
聯系
聚合
管理
隨筆-126 評論-247 文章-5 trackbacks-0
java 適配器模式(Adapter)
適配器模式
(
Adapter 模式
),
將一個類的接口轉換成客戶希望的另外一個接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。
1. 類的適配器模式結構圖:
從圖中可以看出,Adaptee 類(源類)并沒有 operation2() 這個方法,而客戶端正期待這個方法,為使客戶端能夠使用 Adaptee 類,在此為其提供了一個中間環節,
即 Adapter 類(適配器類),把 Adaptee 的 API 與 Target 的 API 銜接起來,在這里,Adapter 與 Adaptee 是繼承關系,這就決定了這個適配器的模式是類。
示意圖的實現源碼:
package
pattern.adapter;
/**
* -----------------------------------------
* @描述 源類(需要適配的類)
* @作者 fancy
* @郵箱 fancydeepin@yeah.net
* @日期 2012-8-5 <p>
* -----------------------------------------
*/
public
class
Adaptee
{
public
void
operation1()
{
//
do other things here
}
}
package
pattern.adapter;
/**
* -----------------------------------------
* @描述 目標接口
* @作者 fancy
* @郵箱 fancydeepin@yeah.net
* @日期 2012-8-5 <p>
* -----------------------------------------
*/
public
interface
Target
{
public
void
operation1();
public
void
operation2();
}
package
pattern.adapter;
/**
* -----------------------------------------
* @描述 適配器
* @作者 fancy
* @郵箱 fancydeepin@yeah.net
* @日期 2012-8-5 <p>
* -----------------------------------------
*/
public
class
Adapter
extends
Adaptee
implements
Target
{
public
void
operation2()
{
//
do other things here
}
}
2. 對象的適配器模式結構圖:
從圖中可以看出,Adaptee 類(源類)并沒有 operation2() 這個方法,而客戶端正期待這個方法,為使客戶端能夠使用 Adaptee 類,在此為其提供了一個包裝類,
即 Adapter 類(適配器類),它包裝了一個 Adaptee 類的實例,從而此包裝類能夠把 Adaptee 的 API 與 Target 的 API 銜接起來,在這里,Adapter 與 Adaptee 是委派關系,
這就決定了這個適配器的模式是對象。
示意圖中的 Target 和 Adaptee 源代碼不變,下面來看一下 Adapter 類的源碼:
package
pattern.adapter;
/**
* -----------------------------------------
* @描述 適配器
* @作者 fancy
* @郵箱 fancydeepin@yeah.net
* @日期 2012-8-5 <p>
* -----------------------------------------
*/
public
class
Adapter
implements
Target
{
private
Adaptee adaptee;
public
Adapter(Adaptee adaptee)
{
this
.adaptee
=
adaptee;
}
@Override
public
void
operation1()
{
adaptee.operation1();
}
@Override
public
void
operation2()
{
//
do other things here
}
}
posted on 2012-08-05 16:50
fancydeepin
閱讀(1122)
評論(0)
編輯
收藏
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
github
個人主頁
beanutil
jutil
jexcel
orc
隨筆分類
(8)
junit
maven(8)
隨筆檔案
(104)
2015年6月 (8)
2015年2月 (1)
2015年1月 (1)
2014年9月 (1)
2014年8月 (3)
2014年6月 (10)
2014年5月 (3)
2014年3月 (5)
2013年10月 (1)
2013年9月 (2)
2013年4月 (1)
2013年3月 (2)
2013年2月 (11)
2012年11月 (3)
2012年10月 (14)
2012年8月 (15)
2012年7月 (13)
2012年6月 (10)
最新隨筆
1.?maven 為測試環境、生產環境等不同環境打包
2.?maven 多模塊項目
3.?nexus 搭建 maven 私服
4.?maven 鏡像
5.?maven jetty 插件使用
6.?maven jdk 版本配置
7.?eclipse maven plugin 插件 安裝 和 配置
8.?maven 安裝
9.?ORCP : 從數據庫表到 java 對象生成的 eclipse 插件
10.?jexcel 讀寫EXCEL
11.?linux 系列
12.?spring mvc(2):請求地址映射(@RequestMapping)
13.?spring mvc(1):基礎入門
14.?Java 驗證碼、二維碼
15.?GXT —— TreePanel 組件(一)
搜索
積分與排名
積分 - 1461358
排名 - 15
最新評論
1.?re: Maven 手動添加 JAR 包到本地倉庫[未登錄]
剛安裝好的maven,倉庫里沒有jar包,如何添加jar包呢?
--Firefly
2.?re: java 建造者模式(Builder)
多謝,講的很清楚
--Nimo
3.?re: Maven 手動添加 JAR 包到本地倉庫
很好很強大, 完美的解決了我的問題。。。
--klose
4.?re: eclipse maven plugin 插件 安裝 和 配置
@fancydeepin
鏈接還是失效了啊
--菜鳥一號
5.?re: Maven 手動添加 JAR 包到本地倉庫[未登錄]
@呼吸~
你好,請問,怎么設置代理呢?
--paul
閱讀排行榜
1.?eclipse maven plugin 插件 安裝 和 配置(325792)
2.?Maven 手動添加 JAR 包到本地倉庫(199723)
3.?Lombok 安裝、入門 - 消除冗長的 java 代碼(154841)
4.?java 異常捕捉 ( try catch finally ) 你真的掌握了嗎?(70174)
5.?maven jetty 插件使用(49084)
6.?JSP/Servlet 工作原理(43123)
7.?maven jdk 版本配置(40994)
8.?spring mvc(2):請求地址映射(@RequestMapping)(39571)
9.?二叉樹的深度優先遍歷與廣度優先遍歷 [ C++ 實現 ](31255)
10.?maven 多模塊項目(27896)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 fancydeepin
主站蜘蛛池模板:
久久亚洲欧洲国产综合
|
免费a级毛片在线观看
|
久久香蕉国产线看观看亚洲片
|
免费看黄网站在线看
|
亚洲色偷偷综合亚洲AV伊人
|
黄网站色视频免费看无下截
|
免费v片在线观看无遮挡
|
免费看内射乌克兰女
|
中文字幕亚洲乱码熟女一区二区
|
本免费AV无码专区一区
|
亚洲国产成人精品无码区在线观看
|
亚洲不卡视频在线观看
|
99爱在线精品免费观看
|
亚洲精品一卡2卡3卡四卡乱码
|
免费看又爽又黄禁片视频1000
|
美女羞羞免费视频网站
|
亚洲日韩欧洲乱码AV夜夜摸
|
亚洲成人免费在线
|
亚洲最大福利视频
|
亚洲国产精品一区二区九九
|
国产免费网站看v片在线
|
亚洲成人黄色在线
|
国产亚洲福利一区二区免费看
|
一级一片免费视频播放
|
国产v亚洲v天堂无码网站
|
4455永久在线观免费看
|
精品韩国亚洲av无码不卡区
|
国产亚洲色视频在线
|
91精品导航在线网址免费
|
亚洲另类自拍丝袜第五页
|
亚洲综合激情另类专区
|
91短视频在线免费观看
|
亚洲av无码成人精品国产
|
亚洲日韩aⅴ在线视频
|
91成年人免费视频
|
免费无码午夜福利片69
|
亚洲精品视频免费看
|
哒哒哒免费视频观看在线www
|
99久久精品毛片免费播放
|
国产v亚洲v天堂a无
|
亚洲日本va在线视频观看
|