我被要求将事件实现为函数,但使用观察者接口(interface),这对我来说没有意义。
“将以下事件添加到 FileEncryptor(选择每个事件的正确参数类型):
[encryptionStarted
encryptionEnded
decryptionEnded
decryptionStarted]
在适当的位置激活它们(事件应该在接口(interface)中表示为方法,正如您在观察者设计模式中所读到的那样 - 哪个是观察者,哪个是主题)。
你怎么知道现在几点了? (系统类)。
在观察者模式中,您是否有每个事件都是函数的示例?
最佳答案
我将尝试通过比较 here 中的示例来解释一下您的情况根据您的具体情况。
-
FileEncriptor
是ConcreteObservable
-
encryptionStarted
,encryptionEnded
,decryptionEnded
和decryptionStarted
是updateState
.
这些方法要做的就是调用每个具体的观察者(接口(interface)的实现),以便它们根据当时发生的事件执行操作。
有数千个示例(例如 this one ),您可以将其用作起点。
关于java - Observable 作为函数 - 观察者设计模式 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35599682/