以《HeadFirst设计模式》中的巧克力工厂为例,介绍单件模式的使用场景。
一、问题描述
现代化的巧克力工厂具备计算机控制的巧克力锅炉,锅炉做的事就是把巧克力和牛奶融在一起,然后送到下一个阶段,以制造成巧克力棒。Choc-O-Holic公司有一个巧克力锅炉控制器用于控制锅炉活动的进行,比如:锅炉内为空时才允许加入原料、锅炉内存在原料并且尚未煮沸时才允许进行煮沸、排出牛奶和巧克力时要求炉内的存在原料并且已经被煮沸。
万一存在多个ChocolateBoiler(巧克力锅炉),就不一定按照我们限制的流程去生产,从而出现很多糟糕的情况,所以必须将ChocolateBoiler设计成一个单件。
二、类图
三、代码
ChocolateBoiler(巧克力锅炉)类:
package com.pattern.singleton;
pu