从编码风格的角度来看,循环类依赖是不是很糟糕?
例:
在数据库应用程序中,我们有两个类,一个封装有关单个数据库(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);
}
}
Run Code Online (Sandbox Code Playgroud)
我的同事认为这是不好的做法,如果只有一个依赖方向而没有像这里那样的循环方向会更好.
这是不好的做法,反模式还是代码味道?有什么缺点吗?
在同一个 Java 包中的类之间存在循环依赖是不好的做法吗?
如果没有,我希望在某处有信誉良好的参考指南。