13.3.1单例模式
单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。适用于某个类只有一个对象,以避免产生多个对象消耗过多资源,及只应该有一个对象的场景。
如加载图片的ImageLoad对象、线程池对象、缓存对象、网络请求对象、数据库对象、文件对象、登录状态对象、日志对象,及一些公共数据对象,都可以用单例模式实现,这样也减少了静态和全局变量的使用。
APP向服务器端发请求的时候,有的页面会发送多个请求给服务器,这时如果网络或服务器端出错,会接连弹出多个提示框;这种提示框也可以使用单列模式创建,这样即使发送了多个请求,但只显示一个出错提示框,改善用户体验。
实现单例模式的方式有饿汉、懒汉和DCL方式,如考虑到多线程的情况,这些方式都有不足之处,在《Java并发编事程件》中,推荐以下方式实现:
public class Singleton {
private Singleton() {}
public static Singleton getInstance() {
return SingletonHolder.sInstance;
}
private static class SingletonHolder {

本文介绍了APP开发中常见的四种设计模式:单例模式用于保证类只有一个实例,适用于加载图片、线程池等场景;Builder模式将对象构建与表示分离,常用于复杂的对象初始化;原型模式通过拷贝创建新对象,适用于减少资源消耗;工厂方法模式通过子类决定创建哪个对象,适合产品类型的动态实例化。每种模式都有具体的使用场景和代码示例。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



