java模式 之工厂方法模式(Factory Method)

来源:互联网 发布:阿里云香港vps 编辑:程序博客网 时间:2024/06/05 11:27

1. 定义所需工厂生产类型


package com.sj.factorymethod;public interface Car {public void run();}


package com.sj.factorymethod;public class BenzCar implements Car{@Overridepublic void run() {System.out.println("benz car run");}}

package com.sj.factorymethod;public class BMWCar implements Car {@Overridepublic void run() {System.out.println("bmw run");}}

2.定义生产工厂类


package com.sj.factorymethod;public class CarFactory {    public static Car pruduceBenzCar() {        return new BenzCar();    }    public static Car produceBMWCar() {        return new BMWCar();    }}

3. 测试工厂类

package com.sj.factorymethod;public class FactoryTest {    public static void main(String[] args) {        Car bmw = CarFactory.produceBMWCar();        bmw.run();                Car benz = CarFactory.pruduceBenzCar();        benz.run();    }}


工厂模式适合在出现了大量的产品需要创建,并且具有共同的接口时,可以通过工厂方法模式进行创建。静态工厂方法模式。

抽象工厂模式:  由Factory的接口实现类来创建对应的实体类
例子:Spring的FactoryBean就是抽象工厂方法模式,里面有需要的proxyFactory以及一些TimeFactory

0 0
原创粉丝点击