В моем приложении пользователь может выбрать «тип распространения» для нескольких параметров, а затем я создаю Graph и показываю его ему. Существует 3 различных типа этих распределений, каждый из которых имеет свои параметры (например, альфа, бета, вероятности и т. Д.). Каждый параметр может иметь любое из этих распределений.
Вот скриншот, чтобы прояснить, что я пытаюсь описать:
скриншот http://i52.tinypic.com/29cs11h.jpg
Параметры распространения содержатся в CardLayout, который управляется выпадающим списком.
Когда пользователь нажимает кнопку, мне нужно создать соответствующие доменные объекты для распространения. Прямо сейчас я просто передаю элемент ComboBox (который является enum) и панель CardLayouted на завод, который выбирает правильную подпанель и создает экземпляр правильного объекта. Но кажется неправильным передавать объекты графического интерфейса, а также делает фабрику бесполезной для любой другой ситуации.
Но я не могу придумать лучшего способа создания правильного объекта. Вероятно, только одна идея:
- Пусть панель CardLayouted решит, какая панель поверх, и создать экземпляр
надлежащий объект по запросу. Мне не понадобятся фабрики для этого. Но нормально ли для графического объекта делать такую логику? Как правильно делегировать домену?
Все предложения будут оценены по достоинству!