我有一个UserRepository和GroupRepository。 UserRepository具有GetUsers(includeGroups)方法。 GroupsRepository有一个GetGroups(includeUsers)方法。因此,UserRepository使用GroupsRepository,而GroupsRepository使用UserRepository。我的应用程序使用MEF进行DI,但是现在我只是从构造函数中实例化依赖成员变量。
上面第一段中描述的场景是返回一个StackOverflowException b / c每个repo保持实例化另一个。管理此类型关系场景的常见设计模式有哪些?