工厂方法是在简单工厂的基础上的进一步抽象,在简单工厂中,所有的对象都是通过一个工厂来创建,在工厂方法中,每个对象都有特定的工厂来创建。
抽象接口(车)
package com.yf.designpattern.factorymethod;
public interface Car {
public void drive();
}
具体实现类(宝马和奔驰)
package com.yf.designpattern.factorymethod;
public class BmwCar implements Car {
@Override
public void drive() {
System.out.println("This is a BMW!!!");
}
}
package com.yf.designpattern.factorymethod;
public class BenzCar implements Car {
@Override
public void drive() {
System.out.println("This is a Benz!!!");
}
}
抽象工厂接口(汽车制造厂)
package com.yf.designpattern.factorymethod;
public interface CarFactory {
public Car driver();
}
工厂的具体实现(奔驰车厂和宝马车厂)
package com.yf.designpattern.factorymethod;
//奔驰车厂只生产奔驰车
public class BenzCarFactory implements CarFactory {
@Override
public Car driver() {
// TODO Auto-generated method stub
return new BenzCar();
}
}
package com.yf.designpattern.factorymethod;
//宝马车厂只生产宝马车
public class BmwCarFactory implements CarFactory {
@Override
public Car driver() {
// TODO Auto-generated method stub
return new BmwCar();
}
}
测试类:
package com.yf.designpattern.factorymethod;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
CarFactory cf=new BmwCarFactory();
Car car=cf.driver();
car.drive();
}
}
工厂方法的好处是减轻了汽车工厂的负载,具体实例都由特有的对象工厂来产生
分享到:
相关推荐
工厂方法模式是设计模式中的创建型模式之一,它在软件工程中扮演着非常重要的角色,尤其是在C#这样的面向对象编程语言中。工厂方法模式提供了一种封装对象创建过程的方法,使得具体的创建过程延迟到子类中进行,从而...
### Java设计模式之工厂方法模式 #### 一、引言 设计模式是在软件设计领域中广泛应用的一种编程思想,它提供了一系列解决常见问题的最佳实践。在众多设计模式中,工厂方法模式(Factory Method Pattern)是最基本...
《研磨设计模式之工厂方法模式》是一本深入解析Java设计模式的专业书籍,特别是对工厂方法模式进行了详尽的探讨。设计模式是软件工程中的一种最佳实践,它们是解决常见问题的经验总结,使得代码更加可读、可维护和可...
### JAVA设计模式之工厂方法模式 #### 一、引言 设计模式是在软件工程领域内广泛应用的一种编程思想,它能够帮助开发者解决常见的软件设计问题,提高代码的可维护性和复用性。面向对象的设计模式更是现代软件开发...
C++的设计模式之工厂方法模式(Factory Method) C++的设计模式之工厂方法模式(Factory Method) C++的设计模式之工厂方法模式(Factory Method) C++的设计模式之工厂方法模式(Factory Method)
在给定的"Java设计模式之工厂方法的ifelse实现"源码中,我们可以看到作者通过if...else语句来实现工厂方法的具体逻辑。通常,这种实现方式是针对不同类型的对象,根据条件判断来决定调用哪个具体类的构造函数。这种...
工厂方法、简单工厂和抽象工厂是创建型设计模式的三种不同形式,它们都关注于对象的创建过程,但各有其特点和适用场景。 1. **工厂方法(Factory Method)**: 工厂方法模式定义了一个创建对象的接口,但让子类...
研磨设计模式之 工厂方法模式.doc
该资源是Java设计模式之工厂方法完整工程的源码,作为博主的工厂方法模式实战之某商场一次促销活动博文的源码,需要使用者结合改博文使用,该源码直接下载后就可以运行的Java工程。该工程是基于Idea+maven+...