您的位置:首页 > 其它

工厂方法(Factory Method)设计模式

2012-12-22 15:14 218 查看
工厂模式的结构如下图所示:



工厂模式的参与者包括:

1. Product: 所定义的工厂方法所要创建的对象的接口。

2. ConcreteProduct: 实现 Product。创建的实际对象类。

3. Factory:声明工厂方法

4. ConcreteFactory:实体工厂。用于创建产品。

下面是工厂方法(Factory Method)设计模式的一个例子。该例子中,使用工厂模式创建手机对象。

MobileFactory.java:

public interface MobileFactory{
public Mobile produceMobile();
}


MotorolaFactory.java:

public class MotorolaFactory implements MobileFactory{
public Mobile produceMobile(){
return new Motorola();
}
}


NokiaFactory.java:

public class NokiaFactory implements MobileFactory{
public Mobile produceMobile(){
return new Nokia();
}
}


Mobile.java:

public interface Mobile{
public void call();
}


Motorola.java:

public class Motorola implements Mobile{
public void call(){
System.out.println("Motorola producted");
}
}


Nokia.java:

public class Nokia implements Mobile{
public void call(){
System.out.println("Nokia producted");
}
}


Client.java:

public class Client{
public static void main(String[] args){
MobileFactory mbf = new NokiaFactory();
Mobile mb=mbf.produceMobile();
mb.call();
mbf= new MotorolaFactory();
mb=mbf.produceMobile();
mb.call();
}
}


需要注意的是,这个例子同样也是Abstract Factory 抽象工厂模式的例子,只是这里只生产一种产品 Mobile。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: