我有一个与RPGLE程序接口的类。
客户端将保留对类的引用并执行某些操作。调用方法等。
在调用特定方法 - endDocument()
之后,该类是无效状态,因为我在许多对象上调用destroy()
(这是API所需的)。
除了有一个布尔成员标志“illigalState”并且在检查它的每个方法的顶部,抛出一个IllegalStateException()
,我该如何处理这个问题?
我不希望用户在处于非法状态后能够使用该类,但是他们有一个对它的引用。
答案 0 :(得分:3)
更多OO方式是使用State模式。你可以有两个对象状态;有效(包含逻辑)和无效抛出IllegalStateExceptions。需要在endDocument方法
中更改对象状态