<设计模式一>普通工厂模式

来源:互联网 发布:永久域名发布软件下载 编辑:程序博客网 时间:2024/05/17 00:10

普通工厂模式

设计模式是JAVA进阶中必备的技能,接下来就为大家介绍23中设计模式的基本用法。


首先为大家介绍工厂模式的使用。工厂模式适用于大量的对象需要创建,并且具有共同的接口时。在Android中,BitmapFactory是我们用到最多的工厂模式,它的各种方法都是返回Btimap类型。


工厂模式分为三种:

1、普通工厂模式

2、多个方法工厂模式

3、静态工厂模式


举例:

首先创建一个接口Interface

public interface IOperator {public void operate();}
其次创建一个类实现这个接口,如下:

public class OperateFirst implements IOperator {public void operate() {System.out.println("OperateFirst");}}
public class OperateSecond implements IOperator {public void operate() {System.out.println("OperateSecond");}}

接下来就是工厂模式的三种具体写法:

public class OperatorFactory {/** * 普通工厂模式 * @param type * @return */public IOperator produce(String type){if("first".equals(type)){return new OperateFirst();}else if("second".equals(type)){return new OperateSecond();}else{return null;}}/*---------------------------------------*//** * 多个工厂方法模式 *  */public IOperator produceSecond(){return new OperateSecond();}public IOperator produceFirst(){return new OperateFirst();}/*---------------------------------------*//** * 静态工厂模式 *  */public static IOperator getSecond(){return new OperateSecond();}public static IOperator getFirst(){return new OperateFirst();}}

使用测试:

public class FactoryMethodTest {public static void main(String[] args) {//普通工厂模式OperatorFactory factory = new OperatorFactory();IOperator operator = factory.produce("first");operator.operate();//多个方法工厂模式OperatorFactory factory2 = new OperatorFactory();IOperator operator2 = factory2.produceFirst();operator2.operate();//静态工厂模式IOperator operator3 = OperatorFactory.getFirst();operator3.operate();}}

普通工厂模式是通过参数来创建对象,参数不对可能返回null,多个方法工厂模式需要先创建对象,因此,我们使用静态工厂模式比较多,避免了多次创建实例。


PS:所有模式Demo会在最后一起提供。


0 0
原创粉丝点击