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

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

Java深入分析之:使用FactoryMethod模式

2019-11-18 13:33:48
字體:
來源:轉載
供稿:網友

  閱讀 "Polymorphism in its purest form" 一文時,我看到了一個不熟悉的術語 "Factory method"。你能解釋一下什么是Factory method并說明如何使用它嗎?
  
  A: Factory method(工廠方法)只不過是實例化對象的一種方法的名稱。就象工廠一樣,Factory method的任務是創建--或制造--對象。
  
  讓我們看一個例子。
  
  每個程序要有一種報錯的方式??纯聪旅娴慕涌冢?br />  
  代碼清單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
欧美性xxxx极品hd欧美风情| 91视频国产高清| 国产精品一区二区久久国产| 日韩一区二区在线视频| 久久精品视频在线播放| 日韩美女av在线| 日韩欧美在线中文字幕| 成人免费自拍视频| 日韩欧美中文字幕在线播放| 欧美大全免费观看电视剧大泉洋| 欧美三级欧美成人高清www| 久久成人精品电影| 成人精品网站在线观看| 国产精品日韩欧美大师| 精品无人国产偷自产在线| 九九热99久久久国产盗摄| 亚洲精品日韩av| 亚洲欧美一区二区精品久久久| 日本欧美一级片| 亚洲精品久久久久久久久久久久| 日韩福利伦理影院免费| 成人激情春色网| 中文字幕欧美日韩精品| 欧美激情中文字幕在线| 日韩高清av一区二区三区| 亚洲精品综合精品自拍| 亚洲天堂免费观看| 日产精品99久久久久久| 韩日欧美一区二区| 国产成人亚洲综合| 91亚洲永久免费精品| 国产综合福利在线| 久久久久久亚洲| 久久久久北条麻妃免费看| 亚洲精品国产电影| 日本免费在线精品| 久久久中文字幕| 一二美女精品欧洲| 亚洲精品之草原avav久久| 福利二区91精品bt7086| 亚洲999一在线观看www| 国产免费一区二区三区在线能观看| 在线观看国产精品91| 亚洲第一视频在线观看| 亚洲精品www| 亚洲男人天堂网| 国产99在线|中文| 国内精品小视频| 日韩av电影免费观看高清| 欧美福利视频网站| 不卡av电影在线观看| 国产亚洲福利一区| 亚洲欧美日韩在线一区| 亚洲一区二区三区久久| 欧美大肥婆大肥bbbbb| 伊人伊成久久人综合网站| 欧美日韩激情视频| 色噜噜国产精品视频一区二区| 国产午夜精品一区理论片飘花| 国产精品中文在线| 久久香蕉国产线看观看网| 国产成人在线一区二区| 疯狂做受xxxx欧美肥白少妇| 欧美亚洲日本黄色| 国产精品入口日韩视频大尺度| 国产欧美日韩综合精品| 成人av在线网址| 91免费国产视频| 国产婷婷色综合av蜜臀av| 亚洲成人久久一区| 国产一区二区三区在线免费观看| 日韩视频在线一区| 91久久久久久久久久| 欧美一级免费视频| 国产精品九九九| 亚洲国产婷婷香蕉久久久久久| 蜜月aⅴ免费一区二区三区| 久久精品99国产精品酒店日本| 最近中文字幕mv在线一区二区三区四区| 亚洲男人天堂九九视频| 俺去啦;欧美日韩| 亚洲精品99久久久久中文字幕| 成人www视频在线观看| 久久综合九色九九| 456亚洲影院| 国产欧美一区二区三区在线| 亚洲精品日韩激情在线电影| 国产精品久久久久久超碰| 亚洲精品福利视频| 亚洲免费视频在线观看| 精品国产福利在线| 久久成人国产精品| 中文字幕精品av| 5566日本婷婷色中文字幕97| 91精品国产综合久久男男| 日韩在线视频播放| 国产精品美女久久久久久免费| 日韩成人性视频| 亚洲激情中文字幕| 欧美高清性猛交| 亚洲最大中文字幕| 亚洲免费伊人电影在线观看av| 精品国产视频在线| 精品国产乱码久久久久久虫虫漫画| 一区国产精品视频| 国产精品1234| 亚洲第一免费网站| 欧美丝袜一区二区三区| 国产一区二区美女视频| 欧美在线观看一区二区三区| 欧美激情精品久久久久| 欧美夫妻性视频| 成人av色在线观看| 国产精品久久久久aaaa九色| 日韩在线精品视频| 国产一区二区视频在线观看| 欧美高清性猛交| 久久久欧美一区二区| 日韩精品免费视频| 国产亚洲精品美女久久久| 色综合男人天堂| 日韩av免费在线播放| 国产精品午夜一区二区欲梦| 日韩欧美精品在线观看| 九九热精品视频在线播放| 91精品国产免费久久久久久| 亚洲精品电影在线观看| 国产精品99久久久久久久久| 国产精品jvid在线观看蜜臀| 国产成人精品一区| 国产精品欧美久久久| 538国产精品视频一区二区| 夜夜嗨av一区二区三区免费区| 精品福利视频导航| 国产va免费精品高清在线| 日韩精品丝袜在线| 亚洲精品少妇网址| 国产精品久久在线观看| 亚洲女性裸体视频| 日韩美女在线观看一区| 精品久久久久久久久中文字幕| 久久精品视频网站| 亚洲天堂av综合网| 国产97在线播放| 91网在线免费观看| 国产人妖伪娘一区91| 亚洲国产精品yw在线观看| 亚洲电影免费观看高清完整版在线| 国产精品一久久香蕉国产线看观看| 亚洲91精品在线观看| 欧美激情高清视频| 日韩黄色在线免费观看| 成人黄色片在线| 欧美电影免费播放| 欧美一级高清免费播放| 久久精品99久久香蕉国产色戒| 国产做受高潮69| 欧美精品aaa| 自拍偷拍亚洲欧美| 精品亚洲男同gayvideo网站| 岛国av在线不卡| 国产精品久久不能| 国精产品一区一区三区有限在线| 98精品国产自产在线观看|