Я разрабатываю свинг-приложение, где у меня есть класс Factory, который предоставляет компонент с учетом Singleton. Нравиться:
public final class ComponentFactory {
private static LibraryFrame libraryFrame;
private static LibraryTableScrollPane libraryTableScrollPane;
public static synchronized LibraryFrame getLibraryFrame() {
if (libraryFrame == null) {
libraryFrame = new LibraryFrame();
}
return libraryFrame;
}
public static synchronized LibraryTableScrollPane getLibraryTableScrollPane() {
if(libraryTableScrollPane == null) {
libraryTableScrollPane = new LibraryTableScrollPane(getLibraryTable());
}
return libraryTableScrollPane;
}
}
Я использую этот компонент как:
add(ComponentFactory.getLibraryTableScrollPane())
Также я создаю класс ListenerFactory, который предоставляет различные слушатели Swing/AWT.
Есть ли у этой модели недостатки? Могу ли я использовать один и тот же компонент или прослушиватель с двумя одновременно видимыми родительскими компонентами?
Заранее спасибо.