我曾多次遇到以特定方式编码对象可能导致其处于不一致状态的情况。一个例子是question。
来自答案:使用装饰器模式构造对象是不好的,因为它使对象处于不一致状态。
有人可以用一个例子向我解释一下,处于不一致状态的物体究竟意味着什么?
答案 0 :(得分:4)
考虑以下类,它是InputStream
的装饰器类。这里close()
方法未实现。
现在,如果我创建了这个类的对象并在其上调用close()
,我的假设是流已经关闭,但实际上,由于未完全实现的方法{{1}在装饰器类中。
close()