问题描述
这种情况如何解耦?,比如类A有一个变量数组,里面是C类的实现,但C类有一个变量是A类的实例。举例。ClassA{C[]children=...........publicvoidLoadC(){children[index]=newC(this);}}classC{C(Aparent){this.parent=parent;}}
大概就是这个样子的。请问这样做是不是很不好?有何办法解决?标题有错字,实例不是现实,csdn这么多年了还是不能编辑标题与内容,真是操蛋。
解决方案
本帖最后由 feethink 于 2016-04-15 13:00:45 编辑
解决方案二:
请举个具体点的例子
解决方案三:
引用1楼shingoscar的回复:
请举个具体点的例子
上面那样的不算具体?比如,我想实现模块功能,须要在入口的类中加载所有模块。但在每一个模中,我须要用到那个入口类中的某个变量或函数,就有了上边的代码。我在网上查了一下,那用这种方式,我想问下有没有一种办法,能实现这种功能,而不须要相互包含对方。
解决方案四:
那也应该是传入这个变量或者委托更复杂点的传入一个初始化对象但没有必要传入入口类本身
解决方案五:
可以采用接口,依赖与接口而不是依赖具体类,然后使用依赖注入将具体实体进行注入。依赖注入你可以百度下相关文章
时间: 2024-12-24 17:34:04