读书人

设计方式之工厂方法模式(二)

发布时间: 2012-10-06 17:34:01 作者: rapoo

设计模式之工厂方法模式(二)
为了解决简单工厂不满足OCP的问题,又提出工厂方法模式一概念,下面的例子:

interface Car{    public void run();    public void stop();}class Ford implements Car{    public void run(){        System.out.println("Ford run。。。");    }    public void stop(){        System.out.println("Ford stop。。。。");    }}class Toyota implements Car{    public void run(){        System.out.println("Toyota run。。。");    }    public void stop(){        System.out.println("Toyota stop。。。。");    }}interface factory{Car getCar();}class ToyotaFactory implements factory{public Car getCar() {return new Toyota();}}class FordFactory implements factory{public Car getCar() {return new Ford();}}


当需要增加新类型B车时,只需要增加对应的类即可,不需要更改工厂类。

看似解决了OCP的问题,但是这样的代码实在是复杂。
结构复杂度、代码复杂度、客户端编程难度、管理上的难度都大大增加。
所以使用时请谨慎。

下一篇将介绍先进点的抽象工厂模式。

读书人网 >软件开发

热点推荐