Java 工厂模式变形的多种应用

<

div id=”content” contentScore=”1993″>工厂模式在项目开发中是使用效率非常高的,意思就是说定义一个用于创建对象的接口,让子类去决定实例化哪一个类。这就是一个工厂类的示意图

接着来一个简单的例子:

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 createProduct(Class c);
}

更夼/div>