我刚进入java (从AS3),我了解java的语法和所有的基础知识,但我找不到任何关于基本程序架构的教程或书籍。
例如,
ObjectA has a property: ObjectB.
ObjectB has a property: x
ObjectB.x changes at some point.
如何让对象A 'catch‘或'hook into’或'listen‘在ObjectB.x中更改?
在AS3中,我会让ObjectB成为事件分派器,并让ObjectA侦听一些自定义事件。
或者在Flex Framework中,我会创建一个changeWatcher。
在Java中如何做到这一点?在哪里可以找到这些架构基础知识?
发布于 2011-01-14 00:13:47
查看JavaBeans规范,它包含了如何创建事件和监听器以使其符合标准的指导原则(它之所以标准化是因为Sun认为GUI中将会有一些类似Delphi语言的市场,但有一个标准的操作方式并不会有什么坏处)。Here's a tutorial on writing event listeners.
发布于 2011-01-14 00:03:54
如果你真的需要,你可以创建一个事件并监听它。
在你的ObjectB.setX()
方法中,你可以激发你的事件,让ObjectA知道这个值已经改变了。
这里有一篇文章描述了如何做到这一点:http://www.javaworld.com/javaqa/2000-08/01-qa-0804-events.html
但我不确定我是否会这样做。在我的ObjectB.setX()
中,我将查找ObjectA父对象,如果它存在,则使用在ObjectA上定义的函数。
发布于 2011-01-14 00:10:04
你可能想看看observer pattern
https://stackoverflow.com/questions/4682066
复制相似问题