多例模式

多例模式【Multition Pattern 】

public class Emperor {
    public String name = "";
    private static int numOfEmperor = 2;
    private static ArrayList<Emperor> e = new ArrayList<Emperor>();
    static {
        for (int i = 0; i < numOfEmperor; i++) {
            e.add(new Emperor("emperor"+i));
        }
    }
    private Emperor(String name){
        this.name = name;
    }
    public static Emperor getInstance(){
        Random r = new Random();
        return e.get(r.nextInt(numOfEmperor));
    }
}

一天一个设计模式,嘿嘿!

时间: 2024-10-09 09:54:59

多例模式的相关文章

多例模式【Multition Pattern】

这种情况有没有?有!大点声,有没有?有,是,确实有,就出现在明朝,那三国期间的算不算,不算,各自称帝,各有各的地盘,国号不同.大家还 记得那首诗<石灰吟>吗?作者是谁?于谦,他是被谁杀死的?明英宗朱祁镇,对,就是那个在土木堡之变中被瓦刺俘虏的皇帝,被俘虏后,他弟弟朱祁钰当上 了皇帝,就是明景帝,估计当上皇帝后乐疯了,忘记把老哥朱祁镇削为太上皇,在中国的历史上就这个时期是有2个皇帝,你说这期间的大臣多郁闷,两个皇帝耶 ,两个精神依附对象呀. 这个场景放到我们设计模式中就是叫有上限的多例模式(没上

Singleton(单例)模式

Singleton(单例)模式用于确保某个类只有一个实例,并且为之提供一个全局访问点. Singleton模式适用情况: 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时 当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时 在任何情况下,Singleton模式都建议我们提供能够访问单例对象的公有静态方法.如果使用这个方法创建一个对象,该方法将承担确保仅创建一个实例的责任. Singleton 定义一个Instance操作,允许客户访问它的唯一实例

设计模式之多例模式

上一篇学习的是单例模式,那么相对的也就存在多例模式. 多例模式的定义与使用皆可以通过单例模式类推. 多例模式的定义: 作为对象的创建模式,多例模式中的多例类可以有多个实例,而且多例类必须自己创建.管理自己的实例,并向外界提供自己的实例. 多例模式的特点: 所谓的多例模式(Multiton Pattern),实际上就是单例模式的自然推广.作为对象的创建模式,多例模式或多例类有如下的特点: (1)多例类可有多个实例 (2)多例类必须自己创建.管理自己的实例,并向外界提供自己的实例. (3)根据是否有

单例和多例模式

一.单例模式和多例模式说明: 1.         单例模式和多例模式属于对象模式. 2.         单例模式的对象在整个系统中只有一份,多例模式可以有多个实例. 3.         它们都不对外提供构造方法,即构造方法都为私有. 4.         单例模式和多例模式的结构图如下所示:

iOS-单例模式(懒汉式和饿汉式)和GCD实现

// // HMMusicTool.h // 03-单例模式-Singleton(掌握) // // Created by apple on 14-9-16. // Copyright (c) 2014年 heima. All rights reserved. // 播放音乐 #import <Foundation/Foundation.h> @interface HMMusicTool : NSObject + (instancetype)sharedMusicTool; @end // /

java中23种设计模式之5-多例模式(multition pattern)

顾名思义,多例模式相对于单例模式,就是可以有多于一个的有限实例,如下列,只能有两个实例. import java.util.ArrayList;import java.util.Random;class Multition{ private final static int MAX_NUMBER=2; private static ArrayList<Multition> aMultitionArrayList=new ArrayList<Multition>(); private

创建型模式--多例模式

多例模式通常被划分为:有上限多例模式.无上限多例模式. 平时我们通过new一个对象的就是无上限多例模式. 什么叫有上限多例模式,其实就是单例模式的推广,创建>1个的实例(有限). 代码描述: <span style="font-size:18px;">public class Case { //保存有限个类的实例 private static ArrayList<Case> caseList=new ArrayList<Case>(); //创

全局變量以及單例模式和多例模式解析

1. 在Java中沒有全局變量存在性,因為變量都是封裝在類作用域里面.類于類之間的通信是通過繼承類或者是實現接口和注入依賴(組合)機制. a) 在面向對象的編程思想中,我們通常把類中的變量稱作為全局變量,而類中的子程序中的變量和函數參數稱之為局部變量. b) 類中的靜態變量是改變了變量的生命週期,靜態變量的生命週期和類的生命週期一樣. c) 類中的訪問權限的作用就是改變其中變量的作用域,只有用public修飾的變量或者是方法子程序才能夠在外部文件中訪問. d) Protected修飾的變量或者是

单例模式和多例模式的区别(转)

原文链接:[设计模式] 多例模式与单例模式区别 多例模式与单例模式都禁止外界直接将之实例化,同时通过静态工厂方法向外界提供循环使用的自身的实例.它们的不同在于单例模式仅有一个实例,而多例模式则可以有多个实例. 多例模式往往具有一个聚集属性,通过向这个聚集属性登记已经创建过的实例达到循环使用实例的目的.一般而言,一个典型的多例类具有某种内部状态,这个内部状态可以用来区分各个实例,而对应于每一个内部状态,都只有一个实例存在. 原文链接:单例模式优缺点 主要优点: 1.提供了对唯一实例的受控访问. 2