`
student_lp
  • 浏览: 437211 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

     多例模式中的多例类可以有多个实例,而且多例类必须自己创建、管理自己的实例,并向外界提供自己的实例。

一、多例模式的特点

     所谓的多例模式,实际上就是单例模式的自然推广。作为对象的创建模式,多例模式或多例类有以下特点:①多例类可有多个实例;②多例类必须自己创建、管理自己的实例,并向外界提供自己的实例;

二、多例模式实例

1、有上限的多例类

     一个实例数目有上限的多例类已经把实例的上线当做逻辑的一部分,并创造到了多例类的内部,这种多例模式叫做有上限多例模式。比如每一麻将牌局都需要有两个骰子,因此骰子就应当是双态类。以此为例,多例模式代码如下:


      由于有上限的多例类对实例的数目是有上限,因此有上限的多列类在这个上限等于1时,多例类就回到了单例类。因此,多例类是单例类的推广,而单例类是多例类的特殊情况。一个有上限的多例类可以使用静态变量存储所有的实例,特别是在实例数目不多的时候,可以使用一个个静态变量存储一个个的实例。在数目较多的时候,就需要使用静态局聚集存储这些实例。

2、无上限多例模式

     多例类的实例数目并不需要有上限,实例数目并没有上限的多例模式就叫做无上限多例模式。由于事先不知道要创建多少个实例,因此,必然使用聚集管理所有的实例。看(三)中实例。

三、多例模式常在的使用场景

    1、在国际化问题中(多语言),简称i18n。常用到多例模式来辅助解决。下面是一个例子:


     这个多例类的构造函数式私有化的,因此不能用new直接实例化。所有的实例必须通过调用静态getInstance()方法来得到。在调用getInstance()方法时,程序会检查传入的locale代码是否已经存在instances结合中,如果已存在,则直接返回对应的实例;如果不存在会先实例化一个实例并加入到集合中,然后返回这个实例。通过属性文件的配置,就可以通过代码,获取到相应的语言描述。

     2、多例模式在java中的应用:NumberFormat实例如下


 输出如下:

1,111.89   en_US

1.111,89   de_DE

 

  • 大小: 14.8 KB
  • 大小: 27.4 KB
  • 大小: 7 KB
分享到:
评论

相关推荐

    C#描述中的单例与多例模式

    - **多例模式**:根据不同的条件创建多个唯一实例,适用于需要根据不同条件创建多个不同实例的情况。 这两种模式都有助于管理和控制类的实例化过程,提高代码的可维护性和灵活性。在实际开发过程中,选择合适的模式...

    多例模式学习笔记

    **多例模式学习笔记** 在软件设计模式中,多例模式(Multiton)是一种扩展了单例模式的设计模式。单例模式确保一个类只有一个实例,而多例模式则允许一个类有多个实例,但通常数量是有限的。这种模式常用于资源管理...

    单例模式和多例模式

    单例模式和多例模式是软件设计模式中的两种重要类型,它们主要用来控制类的实例化过程,确保在系统中某一类只有一个实例或者多个实例。 单例模式是一种限制类的实例化过程,使得一个类在整个应用程序中只能有一个...

    单例多例模式

    "单例多例模式" 单例多例模式是软件设计中的一种重要概念,它们之间的区别和选择对系统的性能和稳定性有着重要的影响。本文将详细讲解单例多例模式的定义、产生方式、使用场景和选择标准。 一、什么是单例多例? ...

    【Java设计模式】多例模式

    Java中的多例模式确保一个类只有唯一命名的实例,并提供对它们的全局访问点。每个命名实例都通过一个唯一的键进行访问,使其成为Java设计模式的重要组成部分。 ## 二、详细解释及实际示例 1. **实际示例**: - 多...

    java设计模式:多例模式.pdf

    多例模式是设计模式中的一种,它在Java中是一种扩展了单例模式的概念。单例模式确保一个类只有一个实例,并提供了全局访问点。而多例模式则允许一个类有多个实例,但同样提供了全局访问点,并且这些实例可以通过特定...

    多例模式java实现

    单例模式的扩展及应用。 编写一个类LimitInstanceClass,该类最多可以实例化指定个数实例。实例的个数用配置文件InstanceLimit.cfg指定。例如,如果InstanceLimit.cfg的内容为2,则LimitInstanceClass最多可以同时...

    java设计模式:多例模式.docx

    多例模式是设计模式中的一种,它在Java中主要用于创建多个实例,但这些实例的数量是有限制的,与单例模式不同的是,多例模式允许存在多个实例,但通常会限制实例的数量。在某些场景下,多例模式比单例模式更合适,...

    java设计模式之多类java-设计模式之:多例(Multiton)模式

    java设计模式之多例(Multiton)模式是对象的创建模式之一,多例模式中的多例类可以有多个实例,且多例类必须自己创建、管理自己的实例,并向外界提供自己的实例。多例模式的特点是:多例类可以有多个实例,多例类必须...

    Java设计模式——多例模式实验

    编写一个类LimitInstanceClass,该类最多可以实例化指定个数实例。实例的个数用配置文件InstanceLimit.cfg指定。例如,如果InstanceLimit.cfg的内容为2,则LimitInstanceClass最多可以同时存在2个对象。...

    PHP多例模式介绍

    学习java就知道设计模式中有多例模式: 1、多例类可以有多个实例2、多例类必须能够自我创建并管理自己的实例,并向外界提供自己的实例。 大家都知道PHP单例模式,却很少说PHP多例模式,下面是在wikipedia上看到的PHP...

    java多例模式下处理Sftp文件上传下载

    java多例模式下处理Sftp文件上传下载,采用固定密码访问Sftp服务器。

    【更新】phpMyBatis安全框架[dMapper],phpMVC框架,支持数据库单例模式和多例模式

    支持数据库单例模式和多例模式,sql文件写在xml中阅读性和维护性都很好,只需要将sql的xml文件交给DBA,DBA即可很轻松的维护,完全脱离了在php文件中写sql语句,数据库类采用了PDO技术,sql参数采用绑定的方式,有效...

    phpMyBatis安全框架[dMapper],phpMVC框架,支持数据库单例模式和多例模式【更新】

    支持数据库单例模式和多例模式,sql文件写在xml中阅读性和维护性都很好,只需要将sql的xml文件交给DBA,DBA即可很轻松的维护,完全脱离了在php文件中写sql语句,数据库类采用了PDO技术,sql参数采用绑定的方式,有效...

    Java单例模式和多例模式实例分析

    Java单例模式和多例模式实例分析 单例模式是指这种设计模式,确保一个类只有一个实例,并提供一个全局访问点来访问该实例。单例模式的定义是:单例模式是一种创建型设计模式,确保一个类只有一个实例,并提供一个...

    php设计模式之单例、多例设计模式的应用分析

    多例模式是单例模式的一个扩展,它允许根据特定的标识(key)创建多个实例,而不是仅限于一个。这在某些场景下很有用,比如管理具有唯一标识的不同对象。Multiton模式可以有效地管理多个单例,使得它们之间的冲突...

    Java+单例+多例+工厂+枚举+动态代理===》演示

    通过多例模式可以保证系统中,应用该模式设计的类有**固定数量**的对象产生。 **说白了,多例设计模式就是保证使用该模式的类会有固定数量的该类对象产生** #### 实现步骤 ​ 1.创建一个类, 将构造方法私有化,使其...

    您的设计模式.pdf。

    本书《您的设计模式》对设计模式进行了详细的讲解,涵盖了策略模式、代理模式、单例模式、多例模式、工厂方法模式、抽象工厂模式、门面模式、适配器模式、模板方法模式、建造者模式、桥梁模式、命令模式、装饰模式、...

Global site tag (gtag.js) - Google Analytics