Учтите, я пишу код для class GUIManager
простой игры MineSweeperGame.
Здесь,
class GUIManager{
class GameBoardManager{...}
class IconManager{...}
class BoardMenuBar{...}
class BoardManager{...}
class DataManager{...}
}
Но самое неприятное, что я чувствовал, это то,
Мне нужен ровно один экземпляр каждого внутреннего класса. Я сделал эти внутренние классы только для того, чтобы способствовать группировке и удобочитаемости.
Невозможно передать эту информацию (приведенную в кавычках) будущим разработчикам этого кода.
Отсюда мой вопрос,
Возможен ли любой особый тип классов, чтобы можно было создать только один объект этого класса? то есть создание 2 объектов даст ошибку компиляции. или что я должен сделать сейчас, чтобы настаивать на (заблокированной) информации.
Делая сценарий хуже,
public class GUIManager extends JFrame
{
final GameBoardManager gUIGameBoard;
final BoardMenuBar menuBar;
final GameInfoDisplayer gameInfoDisplayer;
final DataManager dataManager;
final IconManager iconManager;
.....
}
при доступе к элементам я должен использовать gUIGameBoard.boardButton[][]
, gUIGameBoard.dimensionOfBoard
, gUIGameBoard.boardColor
и т. д.
При доступе таким образом это звучит так... У меня есть много объектов для GameBoardManager
, и здесь я обращаюсь к элементу gUIGameBoard
. Но на самом деле есть только один GameBoardManager
, который возможен только для GUIManager
. Это похоже на случай с другими объектами внутренних классов.
Отсюда мой вопрос? У меня должен быть только один GameBoardManager
для GUIManager
. Можно ли сгруппировать связанные элементы без создания внутреннего класса. Поскольку при доступе к объекту внутреннего класса это звучит так, как будто у меня их много.