Сложны ли зависимости циклического класса от стиля стиля кодирования?
Пример:
В приложении базы данных есть два класса: одна инкапсуляция информации об одной базе данных (DBInfo) и один класс, который может создать соединение с базой данных. (ConnFactory)
DBInfo имеет метод getConnection, который использует ConnFactory для создания соединения. Но для этого ConnFactory нужен объект DBInfo.
Подобно этому: (Любые стили кодирования не учитываются для удобства чтения)
class DBInfo {
String name;
String connectionUrl;
Connection getConnection() {
return ConnFactory.getConnection(this);
}
}
class ConnFactory {
Connection getConnection(DBInfo toWhat) {
return new Connection(toWhat.connectionUrl);
}
}
Мои коллеги утверждают, что это плохая практика, и было бы лучше, если бы было только одно направление зависимостей и не было круговых, как здесь.
Является ли эта плохая практика, анти-шаблон или запах кода? Есть ли недостатки?