歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java 工廠模式變形的多種應用

工廠模式在項目開發中是使用效率非常高的,意思就是說定義一個用於創建對象的接口,讓子類去決定實例化哪一個類。這就是一個工廠類的示意圖

接著來一個簡單的例子:

如上圖所示,我們首先定義我們的產品抽象類接口,也可以是抽象類:

--------------------------------------分割線 --------------------------------------

編寫高質量代碼 改善Java程序的151個建議 PDF高清完整版 http://www.linuxidc.com/Linux/2014-06/103388.htm

Java 8簡明教程 http://www.linuxidc.com/Linux/2014-03/98754.htm

Java對象初始化順序的簡單驗證 http://www.linuxidc.com/Linux/2014-02/96220.htm

Java對象值傳遞和對象傳遞的總結 http://www.linuxidc.com/Linux/2012-12/76692.htm

Java對象序列化ObjectOutputStream和ObjectInputStream示例 http://www.linuxidc.com/Linux/2012-08/68360.htm

--------------------------------------分割線 --------------------------------------

package factory;

public abstract class PlatForm {
 public void search(){
  System.out.println("你搜索的結果是。。。。。。");
 }
 
 public abstract void music();
}

下面是一些實現類

package factory;

public class BaiduProduct extends PlatForm{

 @Override
 public void music() {
  System.out.println("baidu music");
 }

}

 

package factory;

public class Qihu360Product extends PlatForm{

 @Override
 public void music() {
  System.out.println("360 music");
 }

}

package factory;

public class SogouProduct extends PlatForm{

 @Override
 public void music() {
  System.out.println("sogou music");
 }

}

三個實現類已經完成,下面我們要來一個工廠的抽象類

package factory;

public abstract class Creator {
 /**
  * 創建一個產品對象,其中T 可以為 String Enum Class等  參數可以自己設置
  * @param c
  * @return
  */
 public abstract <T extends PlatForm> T createProduct(Class<T> c);
}

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-07/104317p2.htm

Copyright © Linux教程網 All Rights Reserved