7种创建型模式 之5 multiton 多例模式 《Java与模式》学习笔记
来源:互联网 发布:外卖订餐软件 编辑:程序博客网 时间:2024/05/20 11:50
7种创建型模式 之5 multiton 多例模式 《Java与模式》学习笔记
5、multiton
多例模式
(1) 有上限多例模式
(2) 无上限多例模式
多例模式
(1) 有上限多例模式
/**
* User: liuwentao@wentao365.com
* Date: 2008-12-6 Time: 11:45:33
* <p/>
* note: 有上限多实例类模式
* 骰子
*/
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;
}
}
* User: liuwentao@wentao365.com
* Date: 2008-12-6 Time: 11:45:33
* <p/>
* note: 有上限多实例类模式
* 骰子
*/
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;
}
}
/**
* User: liuwentao@wentao365.com
* Date: 2008-12-6 Time: 11:55:01
* <p/>
* note: 测试 有上限 多实例模式 (Multiton)
*/
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());
}
}
* User: liuwentao@wentao365.com
* Date: 2008-12-6 Time: 11:55:01
* <p/>
* note: 测试 有上限 多实例模式 (Multiton)
*/
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());
}
}
(2) 无上限多例模式
- 7种创建型模式 之5 multiton 多例模式 《Java与模式》学习笔记
- java与模式 多例模式 multiton
- 《Java与模式》学习笔记(7)——Multiton
- 创建型模式:Multiton(多例模式)
- 7种创建型模式 之4 SINGLETON 单例模式 《Java与模式》学习笔记
- 7种创建型模式 之7 PROTOTYPE 原型模式 《Java与模式》学习笔记
- 7种创建型模式 之6 BUILDER 建造模式 《Java与模式》学习笔记
- 设计模式-多例模式(Multiton Pattern)
- 设计模式学习与实践(三)----多例模式(multiton)
- 7种创建型模式 之1 Simple Factory 简单工厂模式 《Java与模式》学习笔记
- 7种创建型模式 之2 FACTORY METHOD 工厂方法模式 《Java与模式》学习笔记
- 7种创建型模式 之3 Abastract Factory 抽象工厂模式 《Java与模式》学习笔记
- 设计模式学习笔记--单例(Singleton)和多例(Multiton)
- 有上限多例模式(Multiton)
- java设计模式(2/23)-多例模式(Multiton Pattern)
- 多例(Multiton)模式
- 学习Java 23种设计模式详解笔记之创建型模式(一)
- Java设计模式之创建型模式--单例模式
- 乱七八糟
- 7种创建型模式 之3 Abastract Factory 抽象工厂模式 《Java与模式》学习笔记
- 轻松拿下JavaScript(二)——面向对象
- 7种创建型模式 之4 SINGLETON 单例模式 《Java与模式》学习笔记
- 前端开发者值得一看的 8 款实用 jQuery 插件
- 7种创建型模式 之5 multiton 多例模式 《Java与模式》学习笔记
- 获取系统语言的方法
- 7种创建型模式 之6 BUILDER 建造模式 《Java与模式》学习笔记
- 7种创建型模式 之7 PROTOTYPE 原型模式 《Java与模式》学习笔记
- ios Unicode 转 UTF-8
- Samba的安装:
- 数据库上机试验(三)
- poj 1163
- Popular Study cards for Concentrators, Harvard