一、前言
最近整理代码的时候,发现以往或多或少写到一种特殊的单例模式,所以基于好奇心百度了一下,发现这种用户被命名为多例模式,其实就是多类型单例的实现,个人觉得叫做多单例模式比较适当。有点像是工厂模式+单例模式的衍生品,也是一种通用的特殊表现,应用场景还是挺多的。
二、介绍
都说是基于单例模式扩展的,所以基本来说单例模式的饱汉式饿汉式都是适用于多例模式,网上的多例模式的sample有用单纯的list来存实例,我个人喜欢用map来封装,因为这样比较容易管理实例,下面我贴一下相关代码:
这是我们最常见的SharedPreferences工具类:
import android.content.Context; import android.content.SharedPreferences; import java.util.HashMap; import java.util.Map; public class SharedPreferencesHelper { private static final String SPF_DEFAULT_PATH = "spf_default_path"; private static Map<String, SharedPreferencesHelper> mappingg; private SharedPreferences mSharedPreferences