не накапливает ответственность за один объект конфигурации , поскольку он заканчивается очень большим объектом, который трудно понять и хрупок.
Например, если вам нужен другой параметр для определенного класса, вы измените объект Configuration
, а затем перекомпилируйте все классы, которые его используют. Это несколько проблематично.
Попробуйте рефакторинг вашего кода, чтобы избежать общего, глобального и большого Configuration
объекта. Передайте только необходимые параметры клиентским классам:
class Server {
int port;
Server(Configuration config) {
this.port = config.getServerPort();
}
}
должен быть изменен на:
class Server {
public Server(int port) {
this.port = port;
}
}
a инфраструктура внедрения зависимостей очень поможет здесь, но это не является обязательным требованием.