设计模式 – 如何在这里避免循环依赖
发布时间:2020-12-14 00:48:49 所属栏目:百科 来源:网络整理
导读:有没有办法避免循环依赖,除了混合模块,这样的安排(它是一个象棋应用程序) 详细描述: 有Gui模块导入ChessWidget模块; ChessWidget只是包装ChessWorld模块并导入CellButton; CellButton模块导入模块Cell; ChessWorld模块进口板(代表它)和玩家(通知他们并取得
有没有办法避免循环依赖,除了混合模块,这样的安排(它是一个象棋应用程序)
详细描述: 有Gui模块导入ChessWidget模块; 这里是问题: 玩家模块需要了解其他玩家和棋盘,从而导入ChessWorld! 简短的介绍: 世界模块需要了解玩家模块(甚至由板/板块间接),玩家需要了解世界. 帮助非常感激. PS:不是因为我不能使用循环依赖,而是因为它们是邪恶的.
按照
Dependency inversion principle:介绍ChessWorld实现的接口,Player依赖哪个Player和/或一个Player实现哪个Piece依赖(根据依赖关系的细节,这两者或两者可能是合适的).这通常与
Dependency Injection一起,如果依赖者需要动态实例化一些受信任的实例,则使用
Factory DP.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |