单例 多例 适配器 工厂 模式