То есть мы создаём конструктор Application, который сразу всё запускает?
@vestre_neo
Я не знаю, какая у тебя там архитектура, но опять же, посмотри как тот же Qt устроен.
QApplication запускает основной цикл событий, который отвечает за обновление окон и виджетов.
QApplication при инициализации настраивает окружение, подгружает плагины, настраивает локализацию, инициализирует классы для работы с файловой системой, получает информацию о доступных мониторах, их разрешении и dpi, чтобы потом подогнать размеры шрифтов и контролов и так далее
А вот за ним уже создаются окна, виджеты и другие объекты, которые нуждаются в event loop
И это во всяком случае очень хорошо вписывается в обычное человеческое представление об ООП и объекте в целом: объект Application можно представить как-то в уме и догадаться о его сфере ответственности. Объект же Init мне лично вообще не понятен.
В таких языках как Пайтон и свифт и наверняка во многих других init - это название конструктора объекта) Еще Initialiser какой-нибудь - мб. Кто-то что что-то инициализирует. Что? Зачем? Не понятно) Название класса должно максимально описывать его назначение, а Initialiser - это очень широкое понятие. Вот например DatabaseInitialiser уже конкретнее. Если это фабрика, например. Но тогда я бы и сделал DatabaseFactory)
Короче вот такие у меня рассуждения)