Я пишу свое первое настольное Java-приложение в автономном SWT / JFace (я не хочу использовать RCP); но это не проблема языка, поэтому не сосредотачивайтесь на технологии, которую я использую.
Чтобы в двух словах объяснить, что делает программное обеспечение, в главном окне есть папка с вкладками, каждый элемент вкладки представляет файл, который пользователь может редактировать. Файл представлен структурированным средством просмотра. В приложении есть меню и панели инструментов. В закладке есть контекстное меню.
У меня вопрос по архитектуре приложения.
Я не знаю, как сделать хорошую архитектуру дизайна, чтобы код был правильно организован.
Каждое действие (в меню, в контекстных меню и на панели инструментов) может изменять содержимое выбранного элемента вкладки, поэтому я не знаю, что делать:
1 - элемент вкладки предоставляет множество открытых методов, которые вызываются всеми действиями? Таким образом, элемент вкладки будет иметь много функций:
пример: действие добавления новой строки меню в меню или контекстном меню просто вызывает метод addNewLine () элемента вкладки?
2 - класс, который действует как контроллер, управляет папкой вкладок и всеми элементами вкладок и предоставляет множество открытых методов.
пример: действие open меню File вызывает метод openFile () на контроллере, действие add new line вызывает контроллер, который знает активную вкладку, и добавляет строку, где это необходимо.
3 - каждое действие является конкретным классом и просто вызовите как можно меньше методов для элемента вкладки, чтобы обновить пользовательский интерфейс.
пример: действие меню «Открыть файл» имеет логику для открытия «диалога открытия файла», чтения данных файла и вызова чего-то вроде addNewTab (ApplicationObject my object) непосредственно в компонентах пользовательского интерфейса
4- ...?
С вашей точки зрения, какая из них является наилучшей?
Вы знаете, где я могу найти пример / документацию по дизайну для настольного приложения, подобного этому?
Заранее спасибо,
Fluminis