您的位置:首页 > 其它

《读书笔记》设计模式——工厂方法模式

2014-12-19 00:07 218 查看
定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。

<pre name="code" class="java">public class Engine {

}
public class Underpan {

}
public class Wheel {

}
public interface IFactory {
public ICar createCar();
}
public class Factory implements IFactory{
@Override
public ICar createCar() {
// TODO 自动生成的方法存根
Engine engine = new Engine();
Underpan underpan = new Underpan();
Wheel wheel = new Wheel();
ICar car = new Car(engine,underpan,wheel);
return car;
}
}
public interface ICar  {
public void show();
}
public class Car implements ICar {

private Engine engine;
private Underpan underpan;
private Wheel wheel;
public Car(Engine engine,Underpan underpan,Wheel wheel){
this.engine = engine;
this.underpan = underpan;
this.wheel = wheel;
}
@Override
public void show() {
// TODO 自动生成的方法存根
System.out.println("Car...");
}

}

public class Client {
public static void main(String[] args) {
IFactory factory = new Factory();
ICar car = factory.createCar();
car.show();
}
}






4部分:

工厂接口

工厂实现

产品接口

产品实现

客户端直接由工厂类生产出车来,而不用关心engine、underpan和wheel的创建,降低了耦合度。

在需要生成复杂对象的地方都可以使用工厂方法模式;

把实例化产品的任务交给实现类完成,扩展性较好。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: