简单工厂设计模式

简单工厂设计模式


简单工厂设计模式不属于23种设计模式。但是它是工厂设计模式的基础。基本上是根据现实演变而来。现实生活不是就有工厂吗,工厂就是专门生产的。只能生产几种产品,客户需要其中哪一种,工厂就提供哪一种,如果没有就不能提供了。
应用场景:
只适合需要生产的种类比较少的情况如果你这个工厂需要创建十几个,甚至更多种类的时候,显然就不太合适了,要写好多类型,或者方法,就不满足设计模式的六大原则了。
在Android中,现在都是底部导航栏,上面是三个或者四个Fragment,这时候我就用的简单工厂模式。搞一个FragmentFactory,这个类负责创建导航栏需要的Fragment,点击不同的导航栏按钮,从FragmentFactory取出不同的Fragment。
特别简单的简单工厂类。

public class FragmentFactory {
    private static MainFragment mainFragment;
    private static PictureFragment pictureFragment;
    private static SettingFragment settingFragment;
    public static BaseFragment getFragment(int position){
        switch (position){
            case 0:
                if (mainFragment == null)
                    mainFragment = new MainFragment();
                return mainFragment;
            case 1:
                if (pictureFragment == null)
                    pictureFragment = new PictureFragment();
                return pictureFragment;
            case 2:
                if (settingFragment == null)
                    settingFragment = new SettingFragment();
                return settingFragment;
        }
        return null;
    }
}

还有一种写法,就是写多个静态方法,不同的方法返回不同的Fragment。
使用简单工厂,可以把一部分逻辑放到工厂中,减少其他类的压力。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值