Android-简单工厂模式


前言

使用设计模式可以使我们在进行程序开发时解决面临的开发问题,使其代码更加简介,通俗易懂

定义

在简单工厂模式中,是根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其它类的实例,被创建的实例通常都具有共同的父类。

为何使用

当我们界面上需要展示不同的控件(例:圆形按钮,圆角按钮,方形按钮)的时候,需要用到。
这些按钮起始都源自同一个基类,不过在继承基类后不同的子类修改了部分属性从而使得它们可以呈现不同的外观。

三个角色

Product:抽象产品角色 ConcreteProduct:具体产品角色 Factory:工厂角色

应用场景

当我们只有一个工厂,这个工厂生成不同的产品的时候,就可以使用简单工厂模式。但是当有多个工厂的时候,这个模式显然不太适用了,需要使用工厂方法设计模式,下面的博客将进行更新。

举例使用

1.创建抽象产品角色

//抽象产品角色
public abstract class Product {
    public abstract void make();
}

2.创建具体产品角色(角色可以创建多个,我这里创建了2个),继承抽象产品类

public class Product1 extends Product {
    private static String TAG = Product1.class.getSimpleName();
    @Override
    public void make() {
        Log.e(TAG,"产品1");
    }
}
public class Product2 extends Product {
    private static String TAG = Product2.class.getSimpleName();
    @Override
    public void make() {
        Log.e(TAG,"产品2");
    }
}

3.创建工厂角色,进行下面产品方法的实现

public class Factory {
    public static Product create(String productType) {
        Product product = null;
        switch (productType) {
            case "1":
                product = new Product1();
                break;
            case "2":
                product = new Product2();
                break;
        }
        return product;
    }
}

4.测试

private void test() {
        Factory.create("1").make();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值