设计模式(工厂模式)

2018-03-08  本文已影响0人  黑客和白帽子的故事

简介:

工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。
工厂模式可以分为三类:

一、简单工厂模式

简单工厂模式就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。

public interface ComInterface {
    public void print();
}
public class MyclassOne implements  ComInterface {
    @Override
    public void print() {
        System.out.println("this is MyclassOne class");
    }
}

public class MyclassTwo implements ComInterface {
    @Override
    public void print() {
        System.out.println("this is Myclasstwo");
    }
}
public class MyFactory {
    public ComInterface produce(String type) {
        if ("One".equals(type)) {
            return new MyclassOne();
        } else if ("Two".equals(type)) {
            return new MyclassTwo();
        } else {
            System.out.println("没有要找的类型");
            return null;
        }
    }
}
public class FactoryTest {
    public static void main(String[] args) {
        MyFactory myFactory = new MyFactory();
        ComInterface comInterface = myFactory.produce("One");
        comInterface.print();

    }
}
二、多个工厂方法模式

多个工厂方法模式,是对简单工厂模式的改进,多个工厂方法模式就是提供多个工厂方法,分别创建对象。

public class MyFactory {

    public ComInterface produceOne(){
        return new MyclassOne();
    }


    public ComInterface produceTwo(){
        return new MyclassTwo();
    }
}
public class FactoryTest {
    public static void main(String[] args) {
        MyFactory myFactory = new MyFactory();
        ComInterface comInterface = myFactory.produceOne();
        comInterface.print();

    }
}
一、静态工厂方法模式

静态工厂方法模式,将上面的多个工厂方法模式里的方法置为静态的,不需要创建实例,直接调用即可

public class MyFactory {

    public static ComInterface produceOne(){
        return new MyclassOne();
    }


    public static ComInterface produceTwo(){
        return new MyclassTwo();
    }
}
public class FactoryTest {
    public static void main(String[] args) {
        ComInterface comInterface = MyFactory.produceOne();
        comInterface.print();

    }
}
上一篇 下一篇

猜你喜欢

热点阅读