【问题标题】:Java basic application architectureJava基本应用架构
【发布时间】:2011-01-13 15:54:55
【问题描述】:

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

例如,

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

我怎样才能让对象 A“捕捉”或“挂钩”或“监听”ObjectB.x 中的变化?

在 AS3 中,我会让 ObjectB 成为事件调度程序,并让 ObjectA 监听一些自定义事件。

或者在 Flex 框架中我会创建一个 changeWatcher。

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

【问题讨论】:

    标签: java events architecture listeners


    【解决方案1】:

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

    【讨论】:

    • 感谢(所有人)的快速回复。我认为 JavaBeans 就像一个框架或其他东西,我还不想涉足它。我猜我想错了:)
    【解决方案2】:

    如果你真的需要,你可以创建一个 Event 并监听它。

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

    这里有一篇文章描述了如何做到这一点:http://www.javaworld.com/javaqa/2000-08/01-qa-0804-events.html

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

    【讨论】:

      【解决方案3】:

      你可能想看看observer pattern

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-05
          • 2011-08-17
          • 1970-01-01
          • 2011-06-18
          • 2014-07-01
          • 1970-01-01
          相关资源
          最近更新 更多