android开发中Factory简单工厂模式的实际使用

工厂模式顾名思义就是用工厂来生产具体的产品。可以根据是具体产品还是具体工厂分为简单工厂模式和
工厂方法模式,根据工厂是否为抽象 可以分为抽象工厂模式和工厂方法模式。
简单工厂模式就是一家工厂根据给定的(传入的)不同的材料(参数)生产出具体不同种类的产品。如图所示:
在这里插入图片描述
下面看实际运用的代码再来具体解释:

 import android.util.SparseArray;

import androidx.fragment.app.Fragment;

import com.juexing.payassistant.activity.main.OrderReciveFragment;
import com.juexing.payassistant.activity.main.UnderwayFragment;


public class FragmentFactory {

    private static final int zero = 0;//订单接收
    private static final int one = 1;//进行中


    public static SparseArray<Fragment> fragments = new SparseArray<>();
   
    public static Fragment createFragment(int position) {
        Fragment fragment = fragments.get(position);

        if (fragment == null) {
            switch (position) {
                case zero:
                    fragment = new OrderReciveFragment();
                    break;
                case one:
                    fragment = new UnderwayFragment();
                    break;

            }
            fragments.put(position, fragment);
        }
        return fragment;
    }
}
``


`在日常开发中常常一个复杂的acitivity内通常要创建多个fragment,所以可以抽象出一个FragmentFactory类 来生产具体的fragment(实例化),(为了节省内存使用了android自己独特的稀疏数组 数据结构 sparseArray),根据传入的参数position参数(生产的材料)来实例化具体的fragment(生产产品)。

 private SparseArray<Fragment> fragments = new SparseArray<>();
    private String[] titles = new String[]{"接单","进行中"};
 for(int i=0;i<titles.length;i++){
            tabLayout.addTab(tabLayout.newTab());
            FragmentFactory.createFragment(i);

        }
        fragments=FragmentFactory.fragments;

想要简单了解sparseArray可以去看看这篇blog:
sparseArray的浅析

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值