设计模式--静态工厂设计模式在android中的使用
2023-09-14 09:00:31 时间
今天看到这篇文章:http://www.androiddesignpatterns.com/2012/05/using-newinstance-to-instantiate.html
public class MyFragment extends Fragment { public static MyFragment newInstance(int index) { MyFragment f = new MyFragment(); Bundle args = new Bundle(); args.putInt("index", index); f.setArguments(args); return f; } }
不要让客户端去调用默认的构造函数,然后手动地设置fragment的参数。我们直接为它们提供一个静态工厂方法。这样做比调用默认构造方法好,有两个原因:一个是,它方便别人的调用。另一个是,保证了fragment的构建过程不会出错。通过提供一个静态工厂方法,我们避免了自己犯错--我们再也不用担心不小心忘记初始化fragmnet的参数或者没正确设置参数。
总体而言,虽然两者之间的区别主要是只是设计的问题,这种差异是非常重要的因为它提供了一个抽象层,使代码更容易理解很多。
相关文章
- [Android Traffic] 让android应用在传输网络数据的时候更省电
- Android Studio-解决Fetching android sdk component information加载过久问题
- android 消息推送
- android开发中应该注意的问题
- macos安装android studio(Android Studio 2021.1.1)
- 转-Android微信支付
- Android 中文 API (29) —— CompoundButton
- 【Android】android studio ndk使用例子
- 【万字】熬夜修行Android Studio技巧到出神入化,快速涨薪【建议收藏】
- Android BLE开发详解和FastBle源码解析
- Android 编译之android.bp详解
- Android 动态创建 Textview
- Android【报错】java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.Bu
- 【Android笔记27】Android中的动画效果之属性动画
- Android 11.0 当安装多个播放器时,设置默认播放器播放歌曲
- Android 11.0SystemUI下拉状态栏背景为透明去掉阴影
- Android 面试算法题 删除排序数组中的重复项和旋转数组
- Android 热点开关状态的判断和获取热点ssid
- android 加密手机完毕后待机两分钟出现有频率的杂音
- 【Android 插件化】静态分析应用 APK 安装包是否使用了插件化引擎 ( 虚拟化引擎运行特点 | 恶意软件特点 )
- 【Android 安装包优化】开启资源压缩 ( 资源压缩配置 | 启用严格模式的资源引用检查 | 自定义保留/移除资源配置 | 资源压缩效果 )
- Android的Bitmap和BitmapDrawable类解析-android学习之旅(六十)
- 解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题
- Android系统设置— android.provider.Settings
- android电池充电动画,Android 开机充电图标和充电动画效果
- android应用开发
- Android 10.0 设置静态ip重启后获取不到ip的修复
- android开发,开发环境(Android Studio)安装