亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Java深入分析之:使用Factory Method模式

2019-11-18 12:15:40
字體:
來源:轉載
供稿:網友

  閱讀 "Polymorphism in its purest form" 一文時,我看到了一個不熟悉的術語 "Factory method"。你能解釋一下什么是Factory method并說明如何使用它嗎?
  
  A: Factory method(工廠方法)只不過是實例化對象的一種方法的名稱。就象工廠一樣,Factory method的任務是創建--或制造--對象。
  
  讓我們看一個例子。
  
  每個程序要有一種報錯的方式。看看下面的接口:
  
  代碼清單1
  
  public interface Trace {
  
  // turn on and off debugging
  public void setDebug( boolean debug );
  
  // write out a debug message
  public void debug( String message );
  
  // write out an error message
  public void error( String message );
  
  }
  
  假設寫了兩個實現。一個實現(代碼清單3)將信息寫到命令行,另一個(代碼清單2)則寫到文件中。
  
  代碼清單2
  
  public class FileTrace implements Trace {
  
  PRivate java.io.PrintWriter pw;
  private boolean debug;
  
  public FileTrace() throws java.io.IOException {
  // a real FileTrace would need to oBTain the filename somewhere
  // for the example I'll hardcode it
  pw = new java.io.PrintWriter( new java.io.FileWriter( "c:/trace.log" ) );
  }
  
  public void setDebug( boolean debug ) {
  this.debug = debug;
  }
  
  public void debug( String message ) {
  if( debug ) { // only print if debug is true
  pw.println( "DEBUG: " + message );
  pw.flush();
  }
  }
  public void error( String message ) {
  // always print out errors
  pw.println( "ERROR: " + message );
  pw.flush();
  }
  
  }
  
  代碼清單3
  
  public class SystemTrace implements Trace {
  
  private boolean debug;
  
  public void setDebug( boolean debug ) {
  this.debug = debug;
  }
  
  public void debug( String message ) {
  if( debug ) { // only print if debug is true
  System.out.println( "DEBUG: " + message );
  }
  }
  public void error( String message ) {
  // always print out errors
  System.out.println( "ERROR: " + message );
  }
  
  }
  
  要使用這兩個類中的任一個,需要這樣做:
  
  代碼清單4
  
  //... some code ...
  SystemTrace log = new SystemTrace();
  //... code ...
  log.debug( "entering loog" );
  // ... etc ...
  
  現在,假如想改變程序中用到的 "Trace實現",就需要修改實例化 "Trace實現" 的每個類。使用了Trace的類的數量可能很多,這種修改就需要大量的工作。而且,你一定也想盡可能地避免大量修改你的類。
  
  代碼清單5
  
  public class TraceFactory {
  public static Trace getTrace() {
  return new SystemTrace();
  }
  }
  
  getTrace()是一個Factory method。這樣,無論什么時候你想得到一個Trace的引用,只用簡單地調用TraceFactory.getTrace():
  
  代碼清單6
  
  //... some code ...
  Trace log = new TraceFactory.getTrace();

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久影院日本| 在线成人中文字幕| 黄色精品在线看| 亚洲第一福利网| 日韩精品免费在线视频| 成人黄色av网站| 国产亚洲精品va在线观看| 亚洲精品v天堂中文字幕| 色琪琪综合男人的天堂aⅴ视频| 国产成人综合亚洲| 欧美精品在线第一页| 亚洲aⅴ男人的天堂在线观看| 亚洲电影av在线| 欧美情侣性视频| 亚洲男女自偷自拍图片另类| 91系列在线观看| 久久久亚洲天堂| 高清欧美性猛交| 国产aⅴ夜夜欢一区二区三区| 成人福利免费观看| 国产精品久久久久久久久久东京| 国产精品视频最多的网站| 一区二区欧美亚洲| 亚洲精品资源在线| 性欧美暴力猛交69hd| 久久97精品久久久久久久不卡| 国产精品一久久香蕉国产线看观看| 亚洲欧洲一区二区三区久久| 亚洲一区亚洲二区| 伊人伊成久久人综合网小说| 欧美激情亚洲精品| 欧洲精品在线视频| 国产精品人成电影在线观看| 欧美午夜久久久| 久久精品久久精品亚洲人| 国产成人福利夜色影视| 中文字幕日韩有码| 日韩**中文字幕毛片| 欧美日韩精品中文字幕| 日韩高清不卡av| 欧美精品电影免费在线观看| 亚洲国产欧美一区二区三区久久| 亚洲国产精品一区二区久| 国产精品久久久91| 国产精品视频网站| 亚洲欧洲自拍偷拍| 欧美黑人一区二区三区| 久久久久久久一| 国产美女被下药99| 91精品国产自产在线老师啪| 欧洲成人在线视频| 国产精品电影一区| 欧美在线观看网址综合| 亚洲网在线观看| 色婷婷**av毛片一区| 国产精品日韩av| 国产视频精品在线| 亚洲人成五月天| 久久夜精品va视频免费观看| 91精品国产免费久久久久久| 欧美国产亚洲视频| 欧美一级大片在线观看| 欧美日韩免费看| 国语自产偷拍精品视频偷| 黑人巨大精品欧美一区免费视频| 98精品国产自产在线观看| 亚洲精品一区中文| 91成人精品网站| 国产精品嫩草影院久久久| 成人xvideos免费视频| 亚洲女人被黑人巨大进入| 久久艹在线视频| 国产一区二区美女视频| 亚洲国产精品va在线看黑人动漫| 欧美一区二区三区精品电影| 日韩成人在线观看| 久操成人在线视频| 日韩免费观看av| 久久69精品久久久久久国产越南| 亚洲免费av电影| 国内精品久久久久久久| 欧美日韩第一视频| 黑人精品xxx一区| 欧美黑人巨大xxx极品| 欧美成年人网站| 色偷偷噜噜噜亚洲男人| 91在线精品视频| 久久亚洲私人国产精品va| 国产成人福利网站| 国产成人精品在线| 国产成人精品视频在线观看| 国产精品电影网| 911国产网站尤物在线观看| 日韩欧美在线免费观看| 国产一区欧美二区三区| 91精品国产综合久久香蕉的用户体验| 久久久久久国产精品美女| 欧美激情亚洲激情| 久久天堂电影网| 久久久久久国产精品久久| 久久天堂电影网| 欧美又大粗又爽又黄大片视频| 久久精品国产一区二区电影| 亚洲国产精品成人精品| 欧美大片va欧美在线播放| 日韩黄色av网站| 中文字幕亚洲一区二区三区| 美女扒开尿口让男人操亚洲视频网站| 日韩专区在线播放| 91精品国产自产在线观看永久| 精品调教chinesegay| 欧美日韩国产精品一区二区不卡中文| 青青青国产精品一区二区| 亚洲成色999久久网站| 精品露脸国产偷人在视频| 亚洲欧美在线第一页| 97国产精品视频人人做人人爱| 日韩欧美极品在线观看| 欧美一区二区三区免费视| 欧美高清电影在线看| 91免费国产网站| 欧美激情一级精品国产| 久久男人资源视频| 两个人的视频www国产精品| 日韩在线视频免费观看高清中文| 国产在线视频不卡| 国产999精品视频| 亚洲欧洲中文天堂| 26uuu亚洲伊人春色| 国产69精品99久久久久久宅男| 韩剧1988在线观看免费完整版| 97久久超碰福利国产精品…| 欧美高清理论片| 黑人巨大精品欧美一区二区免费| 一二美女精品欧洲| 久久青草福利网站| 亚洲国产精品va在线观看黑人| 国产精品极品尤物在线观看| 欧美体内谢she精2性欧美| 久久精品2019中文字幕| 欧美性猛交xxxxx水多| 在线日韩精品视频| 97色在线视频观看| 欧美日韩激情视频| 国产亚洲精品激情久久| 国产精品免费观看在线| 91嫩草在线视频| 亚洲自拍在线观看| 久久综合久久88| 日韩va亚洲va欧洲va国产| 欧美裸体xxxx极品少妇软件| 国产精品网红直播| 91亚洲国产成人精品性色| 国产精品视频精品视频| 全色精品综合影院| 久久精品国产清自在天天线| 国产精品久久久久久久久影视| 色久欧美在线视频观看| 日韩精品亚洲元码| 欧美性猛交xxxx乱大交蜜桃| 亚洲欧美国产日韩中文字幕| 精品久久久久久久久久| 亚洲成av人乱码色午夜| 日韩最新在线视频|