利用Application自身特性可以代替单利模式吗
2016-07-23 15:05
302 查看
Application类是程序启动的入口,App启动时系统会为Application创建一个对象并且在整个应用中是唯一的,也可以说Application是单例模式的一个类。而它的生命周期是最长的,相当于整个应用的生命周期。所以在应用执行过程中,在不同的类中获取到的application对象是同一个。因此可以在Application中保存一些全局变量,直到应用结束才会被释放掉,相对于静态类更有保障。
那么Application是否能够替代应用中的单例模式呢?
当然是可以的。但是不建议使用,原因如下:
1、一个项目中的单例模式的类可以有很多个,分别处理不同的业务逻辑,全部放在一个Application类中来管理,显然代码量会比较庞大,业务逻辑显得混乱,而且不移维护。
2、Application是应用启动过程中系统创建的对象,在普通java类中并没有提供该对象的调用方式,只能在四大组件中使用。如果想要在一般java类中使用,需要程序员添加单例模式的对外访问的方式。
个人建议:application只用来初始化应用,以及传递context给其他java类(比如单例类),全局变量和单例类中的逻辑还是根据业务分类使用单例模式java类。
以上内容仅是个人理解,欢迎纠错!
那么Application是否能够替代应用中的单例模式呢?
当然是可以的。但是不建议使用,原因如下:
1、一个项目中的单例模式的类可以有很多个,分别处理不同的业务逻辑,全部放在一个Application类中来管理,显然代码量会比较庞大,业务逻辑显得混乱,而且不移维护。
2、Application是应用启动过程中系统创建的对象,在普通java类中并没有提供该对象的调用方式,只能在四大组件中使用。如果想要在一般java类中使用,需要程序员添加单例模式的对外访问的方式。
个人建议:application只用来初始化应用,以及传递context给其他java类(比如单例类),全局变量和单例类中的逻辑还是根据业务分类使用单例模式java类。
以上内容仅是个人理解,欢迎纠错!
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试