У меня есть класс конфигурации из API, который я использую, который содержит методы для получения/установки значений в конфиге. Конфигурация не имеет каких-либо методов или конструктора, который загружает ее из файла, лучше ли переносить конфигурацию так, чтобы у нее был метод или конструктор, чтобы загрузить ее из файла или создать класс менеджера, который возвращает экземпляр конфигурации?
Ваш класс конфигурации - это чистая модель. Оберните его, и вы хотите изменить функциональность "config". Это не ваше намерение? Вы не хотите, чтобы "config" "функционировал" по-другому?
Работа ввода-вывода в конструкторах плоха, можете ли вы объяснить почему? Ну, вы можете поместить работу ввода-вывода в методы обертки, но не станет ли оболочка выглядеть менеджером?
Зачем ограничивать его файлом? Он может храниться в базе данных или в файле, доступ к которому осуществляется через Интернет; думаю, ресурс.
Это похоже на то, что вы хотите обернуть? Расширение "Config" до "FileConfig" имеет больше смысла, чем его завершение.
Это зависит от того, что вы хотите с этим делать.
Класс Wrapper позволяет вам добавить дополнительные функции, ограничить некоторые фьючерсы или изменить их... но если вы думаете, что ничего подобного не случится, и вы будете использовать эти геттеры/сеттеры, это может быть немного переполненным и простым классом менеджера достаточно.