`
tonyan416
  • 浏览: 29232 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

设计模式之多例模式Multiton

 
阅读更多
多例模式
public class Die {

    private static Die die1 = new Die();
    private static Die die2 = new Die();

    /**
     * 私有构造函数保证 外界 无法直接将此类实例化
     */
    private Die() {

    }

/**
     * 工厂方法
     * @param i
     * @return
     */
    public static Die getInstance(int i) {
        switch (i) {
            case 0:
                return die1;
            case 1:
                return die2;
            default:
                return null;
        }
    }

  
/**
     * 掷骰子 返回 1-6 之间的随机数
     * @return int
     */
    public synchronized int dice() {
        System.out.println("-----------------------------");
        Date date = new Date();
        Random random = new Random(date.getTime());
        //random.nextInt()可能返回 负数
        int value = Math.abs(random.nextInt())%6 + 1;
        return value;
    }
}

public class DieTest extends TestCase {

    public void testMain(){
        Die die1 = Die.getInstance(0);
        Die die2 = Die.getInstance(1);
        System.out.println(die1.dice());
        System.out.println(die2.dice());
    }
}
分享到:
评论

相关推荐

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

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

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

    单例(Singleton)模式和不常见的多例(Multiton)模式控制着应用程序中类的数量。如模式名称,单例只能实例化一次,只有一个对象,多例模式可以多次实例化。基于Singleton的特性,我们经常用Singleton配置应用程序并...

    java26个设计模式

    工厂模式Factory 原始Prototype 单例Singleton 建造Builder 多例Multiton 适配器Adepter 装饰Decorator 合成Composite 代理Proxy 享元Flyweight 门面Facade 桥梁Bridge 不变Immutable 策略Strategy 模版Template ...

    Java与模式

    实用的 java 设计原则 和 设计模式,阅读完本书,可以了解java的api背后的设计思想和理念...第17章 专题:多例\(Multiton\)模式与多语言支持 第18章 专题:序列键生成器与单例及多例模式 第19章 建造\(Builder\)模式

    PHP设计模式(2017年8月力作)

    PHP设计模式 Abstract Factory , Builder , Factory Method , Multiton , Pool , Prototype , Simple Factory , Singleton , Static Factory , Structural , Adapter / Wrapper , Bridge , Composite, Data Mapper ,...

    PHP多例模式介绍

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

    Java与模式.清晰.rar

    第17章 专题:多例(Multiton)模式与多语言支持 第18章 专题:序列键生成器与单例及多例模式 第19章 建造(Builder)模式 第20章 原始模型(Prototype)模式 第21章 专题:JavaBean的“冷藏”和“解冻” 第四部分 ...

    cpp-component-util-singleton:作为可重用 C++11 组件的单例和多例(单例注册表)创建设计模式

    作为可重用 C++11 组件的Singleton和Multiton (又名Registry of Singletons )创建设计模式。 目录 (ToC) 介绍 Singleton是一种创建型设计模式,定义如下: “确保一个类只有一次实例,并为其提供一个全局访问点...

    Java与模式(含示例代码)

    第17 章 专题:多例(Multiton)模式与多 语言支持.. 267 17.1 引言.............................................267 17.2 多例模式.....................................269 17.3 多语言项目的设计................

    tonton:基于特征的一系列工具,简化了单例,多例和其他类实例控制器的使用

    而且,某些模式可能是从单例派生而来,而不是从多例派生而来,所以这就是我们在这里提出的建议: 首先,使用Singletons和like作为特征,以避免在编码时重复和重复 其次,创建新的和不同的子模式,这些子模式可以将...

    promise-fsm-js:一个使用JavaScript编写的Promises的简单有限状态机(FSM)

    Multiton模式允许多个stateMachines并行运行。 提供不同的口味: 香草JavaScript。 NodeJS模块。 AngularJS 1.x服务模块。 ...您最喜欢的框架丢失了吗? 请。 发行说明 v0.1.0: Alpha版本 v0.1.1: Bug修复...

    databasic:[已弃用] 使用 Titon\Model 包

    将连接存储在 Multiton 实例中 记录查询信息和总执行查询 将变量绑定到 SQL 语句; 类似于 PDO 清除所有绑定数据以防止 mysql 注入 以对象或关联数组的形式获取数据 记录每个查询的执行时间 支持调试模式 用于 ...

    design-patterns-note:执照

    Multiton 允许创建一个类的几个实例并启用恢复。 类的单个实例并启用其检索。 对象池对象的重用。 在图书馆中,除了书籍之外,我们还有杂志、TCC、报纸以及其他类型的物品。 可以实现通用池接口以由这些各种对象...

    Renter_v1.0:EPAM课程的网络项目

    使用的语言和技术: JavaHTML,CSS,JavaScript SQL(MySQL) Servlet,JSP,JSP自定义标签TomcatLog4j2 使用的模式: MVC 命令工厂辛格尔顿Multiton(连接池) 注意:禁止使用高科技框架(Spring,Hibernate等)。...

Global site tag (gtag.js) - Google Analytics