Я хотел бы иметь возможность указать, что переменные-члены объекта являются неизменяемыми после того, как объект был «инициализирован», что для меня означает, что после того, как он был введен с какими-либо зависимостями и выполнил любые другие операции инициализации, которые он можно выполнять только после DI.
Существуют ли языки, которые удовлетворяют мой интерес - которые формализуют DI, инициализацию и поддерживают неизменность таким образом? Может быть, глупо делать их частью языка; возможно, нет. Я не уверен.
Сегодня я программирую на Java, но я не могу использовать «финал» почти так же, как хотелось бы, потому что эти фазы происходят после того, как конструктор завершил выполнение. Любой совет, как получить то, что я хочу с Java? Я предполагаю, что мои объекты могли бы реализовать базовый класс, чтобы эти фазы происходили до завершения конструктора, или использовать аспекты для того же.
Мысли