Java基础应用程序架构

时间:2011-01-13 15:54:55

标签: java events architecture listeners

我刚刚进入java(来自AS3),我理解语法和所有基础知识,但我找不到任何有关基本程序架构的教程或书籍。

例如,

ObjectA has a property: ObjectB. 
ObjectB has a property: x
ObjectB.x changes at some point. 

如何在ObjectB.x中使用对象A'catch'或'hook into'或'listen for'更改?

在AS3中,我将使ObjectB成为一个事件Dispatcher,让ObjectA监听一些自定义事件。

或者在Flex Framework中我会做一个changeWatcher。

这是如何在Java中完成的,我在哪里可以找到这些架构基础知识?

4 个答案:

答案 0 :(得分:0)

如果你真的需要,你可以创建一个事件并听取它。

ObjectB.setX()方法中,您可以触发事件,让ObjectA知道值已更改。

以下文章介绍了如何执行此操作:http://www.javaworld.com/javaqa/2000-08/01-qa-0804-events.html

但我不确定我会这样做。在我的ObjectB.setX()中,我会查找一个ObjectA父项,如果它存在,则使用在ObjectA上定义的函数。

答案 1 :(得分:0)

您可能需要查看observer pattern

答案 2 :(得分:0)

在Java bean世界中,使用property change listener实现观察者模式 这java tutorial provides a good example。忽略它的Java bean GUI部分并专注于代码。

答案 3 :(得分:0)

查看JavaBeans规范,它包含有关如何创建事件和监听器的指南,以便它们符合标准(它是标准化的,因为Sun认为GUI小部件中的某些类似Delphi的市场从未实现过,但是,采用标准的做事方式并没有什么坏处。 Here's a tutorial on writing event listeners.