首页 > 代码库 > java面向对象与设计模式(三)

java面向对象与设计模式(三)

第四式 工厂方法模式
定义:定义一个用于创建对象的接口,让子类决定实例化那一个类,对象工厂模式使一个类的实例化延迟到子类。
优点:可以在不知具体实现的情况下编程;更容易扩展对象的新版本;连接平行的类层次。
缺点:具体产品对象和工厂方法的耦合性。
本质:延迟到子类的选择实现。

public interface product {
    
    public void createProduct();

}

public class concreteProduct implements product {

    @Override
    public void createProduct() {
        // TODO Auto-generated method stub
        System.out.println("create product");
        
    }

}

public abstract class factory {
    
    protected abstract product factoryMethod();
    
    public void someOptions() {
        
        product prod = factoryMethod();
        prod.createProduct();
    }

}

public class concreteFactory extends factory {

    @Override
    protected product factoryMethod() {
        // TODO Auto-generated method stub
        return new concreteProduct();
    }

}

public class user {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        factory fctry = new concreteFactory();
        fctry.someOptions();

    }

}

工厂方法模式体现了IoC/DI的思想,IoC/DI在实现上本身没有什么难度,只是提供了一种思想,达到了应用程序和外部资源的一种松耦的目的。

java面向对象与设计模式(三)