国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

java結構性模式之變壓器模式介紹(二)

瀏覽:4日期:2024-06-28 09:08:44
內容: 實例形式的變壓器模式的定義實例形式的變壓器模式的類圖定義如下。 IMG http://www.yesky.com/20011225/jt1225-1-objectadapter.gif[/IMG]圖2. 實例變壓器模式的類圖定義 在圖1可以看出,模式所涉及的成員有: 目標(Target)。這就是我們所期待得到的接口。目標可以是實的或抽象的類。源(Adaptee)。現有需要適配的接口。 變壓器(Adapter)。變壓器類是本模式的核心。變壓器把源接口轉換成目標接口。 顯然,這一角色必須是實類。 本模式的示范代碼如下: package com.javapatterns.adapter;public interface Target { /** * Class Adaptee contains operation sampleOperation1. */ void sampleOperation1(); /** * Class Adaptee doesn't contain operation sampleOperation2. */ void sampleOperation2();}代碼清單4. Target的源代碼。 package com.javapatterns.adapter;public class Adapter implements Target {public Adapter(Adaptee adaptee){ super(); this.adaptee = adaptee; } public void sampleOperation1(){ adaptee.sampleOperation1(); } public void sampleOperation2(){ // Write your code here } private Adaptee adaptee;}代碼清單5. Adapter的源代碼。 package com.javapatterns.adapter;public class Adaptee { public void sampleOperation1(){}}代碼清單6. Adaptee的源代碼。 實例形式的變壓器模式的效果第一、 一個變壓器可以把多種不同的源適配到同一個目標。換言之,同一個變壓器可以把源類和它的子類都適配到目標接口。 第二、 與類形式的變壓器模式相比,要想置換源類的方法就不容易。如果一定要置換掉源類的一個或多個方法,就只好先做一個源類的子類, 將源類的方法置換掉,然后再把源類的子類當作真正的源進行適配。 第三、 雖然要想置換源類的方法不容易,但是要想增加一些新的方法則方便得很。 而且新增加的方法同時適用于所有的源。 在什么情況下使用變壓器模式在以下各種情況下使用變壓器模式: 第一、 你需要使用現有的類,而此類的接口不符合你的需要。 第二、 你想要建立一個可以重復使用的類,用以與一些彼此之間沒有太大關聯的一些類, 包括一些可能在將來引進的類一起工作。這些源類不一定有很復雜的接口。 第三、 (對實例形式的變壓器模式而言)你需要改變多個已有的子類的接口, 如果使用類形式的變壓器模式,就要針對每一個子類做一個變壓器類,而這不太實際。 J2SE中的變壓器模式的使用在爪哇語言2.0的標準SDK中,有很多的變壓器類。如: 庫程序包javaawtevent中有 ComponentAdapter ContainerAdapter FocusAdapter HierarchyBoundsAdapter KeyAdapter MouseAdapter MouseMotionAdapter WindowAdapter 庫程序包Javaxswingevent中有InternalFrameAdapter MouseInputAdapter 這些都是變壓器模式使用的實際例子。值得指出的是,WindowAdapter的建立者們不可能預見到你所要使用的目標接口, 因此WindowAdapter不可能實現你的目標接口。但是,在考察了這些變壓器類的使用范圍之后,我們會發現, WindowAdapter只需實現WindowListener的接口即可,也就是說,目標接口被省略了。請見下面的解釋。 from-yesky Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
標簽: Java
相關文章:
主站蜘蛛池模板: 久久综合九九亚洲一区 | 国产精品黄页网站在线播放免费 | 久久亚洲不卡一区二区 | 国产杨幂福利在线视频观看 | 最新国产午夜精品视频不卡 | 久久99国产乱子伦精品免 | 国产精品久久久久久一级毛片 | 国内久久精品视频 | 欧美黑寡妇特a级做爰 | 亚洲黄色免费观看 | 亚洲免费毛片 | 精品一区二区三区在线观看l | 欧美一区二区在线播放 | 国产网站免费在线观看 | 国产全部理论片线观看 | 一区二区三区日韩 | 国产一区二区fc2ppv在线播放 | 精品中文字幕一区在线 | 日本成aⅴ人片日本伦 | 91原创视频在线观看 | 欧美a毛片 | 米奇777色狠狠8888影视 | 91视频社区 | 国产片91人成在线观看 | 玖玖精品视频在线观看 | 亚州一级片 | 国产第一区二区三区在线观看 | 欧美精品色精品一区二区三区 | 日韩a一级欧美一级 | 91精品综合久久久久m3u8 | 香蕉网影院在线观看免费 | 亚欧色视频在线观看免费 | 韩国免费一级成人毛片 | 国产三级手机在线 | 一级毛片在线免费观看 | 全部免费国产潢色一级 | 香蕉521av网站永久地址 | 久久99热精品免费观看欧美 | 国产一区二区三区四区在线 | 亚洲天堂网在线观看视频 | 欧美成人精品久久精品 |