工厂设计模式详解

来源:互联网 发布:linux 用txt打开文件 编辑:程序博客网 时间:2024/05/16 13:48
                                    工厂设计模式详解

工厂模式是抽象类的应用之一。下面详细的讲解利用抽象类来实现工厂模式的过程。
1. 工厂模式的结构图。
2. 工厂模式的应用。

一:工厂模式的结构图。

这里写图片描述

工厂模式的使用过程是:用户调用工厂类如上图中的CatFactory类来生成一个CatService,用户不需要了解到CatService类的实现过程,用户需要某个类的时候只需要调用它的工厂方法,工厂方法会给用户返回一个实例。利用Service和ServiceFactory接口的作用是利用多态。

二:工厂模式的应用。

package factoryTest;interface Service {    void method1();    void method2();}interface ServiceFactory {    Service getService();}class CatService implements Service {    public void method1() {        System.out.println(":Cat realized the method1");    }    public void method2() {        System.out.println(":Cat realized the method2");    }}class DogService implements Service {    public void method1() {        System.out.println(":Dog realized the method1");    }    public void method2() {        System.out.println(":Dog realized the method2");    }}class CatFactory implements ServiceFactory {    @Override    public Service getService() {        return new CatService();    }}class DogFactory implements ServiceFactory {    @Override    public Service getService() {        return new DogService();    }}public class FactoryTest {    public static void serviceConsumer(ServiceFactory fact) {        Service service = fact.getService();        service.method1();        service.method2();    }    public static void main(String[] args) {        serviceConsumer(new CatFactory());        serviceConsumer(new DogFactory());    }}

由上面代码可以看到工厂模式与接口结合的好处是:利用工厂可以直接提供服务,而且由于接口的存在各种不同的具体工厂实现类也可以进行匹配,使得代码更加的紧凑。

0 0