Создание класса Swing в команде - PullRequest
0 голосов
/ 26 октября 2011

Я работаю над проектом с командой разработчиков. У нас есть очень молодой разработчик, который может создавать хорошие макеты пользовательского интерфейса, но это все. Я хотел бы сохранить простой макет .java-файла для младшего разработчика, чтобы создать каркас пользовательского интерфейса и иметь еще один .java-файл для добавления слушателей и другой логики. Тогда при проверке нашего кода не будет никаких коллизий в Subversion.

Я пытался просто создать класс макета и расширить или обернуть его, но все компоненты Swing являются частными, и я не могу вызвать их. Что еще я мог сделать?

1 Ответ

2 голосов
/ 26 октября 2011

Я бы следовал тому, что Spring MVC делает для веб-клиентов:

Внедряет слушателей в клиент Swing, как инъекция Spring-зависимостей.Пусть разработчик пользовательского интерфейса просто вызывает экземпляры слушателя, не зная, что они делают.

Это позволит вам сохранить всю логику обработки событий в классе, который находится за пределами классов представления Swing.

У вас должен быть способ обновить модель внутри слушателей и сделать ее доступной для экземпляров Swing.

Контроль версий не ваше спасение;интерфейсы есть.Создайте интерфейсы, чтобы изолировать код представления от остальных.Вы можете быть независимыми, пока интерфейсы не меняются.

Под интерфейсом я имею в виду интерфейс Java:

public interface Foo {
    void doSomething(ModelObject m);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...