设计模式-单件模式

一、单件模式

单件模式确保一个类只有一个实例,并提供一个全局访问点。

二、应用场景

现代化的巧克力工厂具备计算机控制的巧克力锅炉。锅炉要做的事,就是把巧克力和牛奶融合在一起,然后送到下一个阶段,以制造成巧克力棒。

public class  ChocolateBoiler{

	private boolean empty;
	private boolean boiled;
	public ChocolateBoiler(){   //代码开始时锅炉是空的
		empty = true;
		boiled = false;
	}

	public void fill(){   //在锅炉内填入原料时,锅炉必须是空的。一旦填入原料,就把empty和boiled标志设置好
		if(isEmpty()){
			empty = false;
			boiled = false;
			//在锅炉内填满巧克力和牛奶的混合物
		}
	}

	public void drain(){   //锅炉排出时必须是满的而且是煮过的,排出完毕后,把empty标志设回true
		if(!isEmpty() && isBoiled()){
			//排出煮沸的巧克力和牛奶
			empty = true;
		}
	}

	public void boil(){   //煮混合物时,锅炉必须是满的,并且是没有煮过的,一旦煮沸后,就把boiled标志设为true
		if(!isEmpty() && !isBoiled()){
			//将炉内物煮沸
			boiled = true;
		}
	}

	public boolean isEmpty(){
		return empty;
	}

	public boolean isBoiled(){
		return boiled();
	}
}
<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值