我应该使用监听器还是观察器?

Simonw:

我的GUI中有一个下拉框,用于显示另一个类中ArrayList的内容。可以在GUI的其他位置将新对象添加到ArrayList中,因此我需要知道何时更新,因此可以刷新下拉菜单。据我所知,我的两个选择是扩展ArrayList类,以允许我向其添加自己的changeListener,或使包含相关ArrayList的类可扩展。

哪一个是更合适的解决方案?

贾里德:

这两种解决方案实质上是相同根设计模式(由“四人帮”定义的“观察者”模式)的实现。在前一种情况下,您使ArrayList本身“可观察”,在后一种情况下,您使域成为使用数组列表“可观察”的对象。

我倾向于采用后者:使域对象可观察。这主要是因为域对象最终可能会发生其他变化(对于GUI应该对其进行更新。)如果已经可以观察到,则说明您已经设置好了。

请注意,您不必严格进行扩展java.util.Observable-无需执行即可实现设计模式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章