背景
为了维持状态,Trigger使用TriggerContext
,而window functions使用Context
。尽管在逻辑上相似,但TriggerContext
和Context
似乎并没有共享相同的代码(既不通过继承也不通过用法)。
题
为什么TriggerContext
和Context
不共享相同的代码并且使用不同的使用模式?
最佳答案
这两个类别只是冰山一角。 Flink的API频繁使用此Context对象模式。此处的目的是为用户定义的功能提供所需的信息,同时避免组件之间的任何不必要的耦合。