Вопрос

Я только что перешел на Java (от AS3) и понимаю синтаксис и все основы, но я не могу найти никаких учебных пособий или книг по базовой архитектуре программы.

Например,

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

Как я могу иметь объект «поймать» или «зацепиться» или «прослушать» изменение в objectb.x?

В AS3 я бы сделал ObjectB диспетчером событий и прослушивал объект для какого -то пользовательского события.

Или в Flex Framework я бы сделал changewatcher.

Как это делается на Java и где я могу найти эти архитектурные основы?

Это было полезно?

Решение

Проверьте спецификацию Javabeans, она включает в себя руководящие принципы о том, как создавать события и слушателей, чтобы они соответствовали стандарту (оно было стандартизировано, потому что Sun думал, что в виджетах GUI будет какой-то дельфи, который никогда не осуществлялся, но это не так. Это больно иметь стандартный способ ведения дела). Вот учебник по написанию слушателей мероприятий.

Другие советы

Если вам действительно нужно, вы можете создать событие и послушать его.

В твоей ObjectB.setX() Метод, вы можете запустить свое событие, чтобы Objecta знала, что значение было изменено.

Вот статья, в которой описывается, как это сделать: http://www.javaworld.com/javaqa/2000-08/01-qa-0804-events.html

Но я не уверен, что сделаю это так. В моем ObjectB.setX(), Я бы искал родитель Objecta, и если он существует, используйте функцию, определенную на Objecta.

Вы можете посмотреть Образец наблюдателя

В мире Java Bean Pattern реализуется с использованием Слушатель смены собственностиЭтот Учебник Java приведен хороший пример. Анкет Не обращайте внимания на его часть Gui в фасоли и сосредоточьтесь на коде.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top