Сложны ли зависимости циклического класса от стиля стиля кодирования?
Пример:
В приложении базы данных есть два класса: одна инкапсуляция информации об одной базе данных (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);
}
}
Мои коллеги утверждают, что это плохая практика, и было бы лучше, если бы было только одно направление зависимостей и не было круговых, как здесь.
Является ли эта плохая практика, анти-шаблон или запах кода? Есть ли недостатки?