У меня есть обычное приложение vanila java. Он включает в себя файл доступа и конфигурационный файл, из которого он считывает все конфиги. Я использовал шаблон фабрики для создания экземпляра и создания всех классов процессоров и использования классов. У меня есть класс db, который обрабатывает все связанные с db функциональные возможности. Мне нужно передать имена таблиц db в dbutil и другие конфигурации для классов обработки. Я хочу знать лучший дизайн для передачи конфигураций различным классам моего приложения. какова должна быть стратегия проектирования для тестируемого кода?java testable code with configuratios
Design стратегия - 1.Read конфигурационный файл в одном классе и создавать различные конфигурации объектов. - (? Используйте добытчиками или публичные конечные поля для доступа к конфигурации полей) объект DBCONFIG, объект обработки конфигурации 2.pass в конструкторах конфиг объекты - передать dbconfig в dbutil и обработать конфигурацию для обработки util.
Стратегия проектирования 2 - 1.строчный файл конфигурации в одном классе в публичных статических полях. 2. Поместите класс конфигурации в каждый класс, и каждый класс получит все необходимое от общедоступных полей этого класса.
Благодаря
На это нет хорошего ответа. Оба могут быть правильными, оба могут ошибаться. Это дизайн, всегда есть кто-то, кто предпочтет тот или иной – AxelH
Как сказал AxelH, оба подхода в порядке - выберите тот, который вам и вашей команде нравится. Посмотрите на использование и жизненный цикл ваших конфигурационных и служебных классов. Подумайте также о перезагрузке конфигураций. –