Предположим, у меня есть класс BigClass, которому нужна переменная-член типа SmallClass
class BigClass {
.....
private:
SmallClass obj;
};
У меня 2 проблемы:
1) Я не могу передать объект SmallClass в конструктор BigClass, так какBigClass должен обработать некоторые файлы (и получить некоторые данные), чтобы правильно создать экземпляр SmallClass.Я знаю, что правильный способ внедрения зависимостей - иметь конструктор BigClass(SmallClass& obj)
.Как решить эту проблему, если создание экземпляра SmallClass возможно только после того, как BigClass просуществовал некоторое время?
2) Вот как BigClass создает себя: он просматривает файлы в каталоге, читает некоторые файлы для инициализацииего состояние.Как я могу сделать это устройство тестируемым?Что такое правильный модульный тест для конструкторов, которые читают файлы из каталогов, чтобы получить состояние?