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 組件(一)
搜索
積分與排名
積分 - 1461355
排名 - 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++ 實現 ](31254)
10.?maven 多模塊項目(27896)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 fancydeepin
主站蜘蛛池模板:
天天操夜夜操免费视频
|
一个人在线观看视频免费
|
国产成人3p视频免费观看
|
亚洲乱码一区av春药高潮
|
免费观看在线禁片
|
亚洲精品午夜国产VA久久成人
|
亚洲黄片手机免费观看
|
亚洲片一区二区三区
|
国产精品黄页免费高清在线观看
|
国产亚洲精品无码专区
|
a视频在线观看免费
|
亚洲AV成人精品网站在线播放
|
国内精品久久久久影院免费
|
久久亚洲一区二区
|
久久WWW免费人成一看片
|
亚洲av永久无码精品天堂久久
|
最近免费中文字幕视频高清在线看
|
国产午夜亚洲精品国产
|
女人18毛片特级一级免费视频
|
久久精品熟女亚洲av麻豆
|
少妇亚洲免费精品
|
黄色片免费在线观看
|
亚洲专区先锋影音
|
日韩精品成人无码专区免费
|
亚洲国产精品无码久久
|
亚洲精品无码专区2
|
美女视频黄a视频全免费网站色窝
|
91亚洲国产在人线播放午夜
|
成人性生交大片免费看无遮挡
|
黄色免费在线观看网址
|
亚洲av无码国产精品夜色午夜
|
日本高清在线免费
|
黄色a三级免费看
|
久久亚洲精品国产精品
|
最近中文字幕无吗免费高清
|
特级毛片免费播放
|
亚洲色图校园春色
|
亚洲精品无码久久久
|
91嫩草免费国产永久入口
|
国产成人精品亚洲
|
中文字幕亚洲免费无线观看日本
|