在页175,有一个巧克力锅炉类的例子.像这样的东西:
public class ChocolateBoiler {
private boolean empty;
private boolean boiled;
public ChocolateBoiler {
empty = true;
boiled = false;
}
// and then three methods to fill, drain and boil which changes the
// status of these two flag depending of situation
}
Run Code Online (Sandbox Code Playgroud)
在"脑力"一节中,他们提出了一个问题:如果在应用程序中创建了多个ChocolateBoiler实例,那么问题会出现什么问题?
我不确定这堂课有什么问题.为什么我们在这里引入单例模式?这两个标志不是静态的,因此每个实例都有一个.那么如何创建多个实例会让事情搞糟?
问题不在于创建对象的实例。
这是因为该对象的两个实例造成的混乱,这两个实例都声称具有 ChocolateBoiler 的状态。
如果某个对象(例如,Cooker)认为它具有 ChocolateBoiler 的状态,而其他一些对象(例如,Recipe)认为它具有 ChocolateBoiler 的状态,那么现在会发生什么?
由于变量是实例变量,ChocolateBoiler 对象不会就 ChocolateBoiler 的状态达成一致。现在会发生什么?
归档时间: |
|
查看次数: |
1173 次 |
最近记录: |