循环依赖

domain类库里的实体类(admin)里有个方法GetGroup(获取admin的组别)要通过Infrastructure类库里的GroupRepository从数据库获得数据。
但是Infrastructure已经引用domain所在的类库,这样就导致了循环依赖。
是不是我逻辑错了……

的确是你理解错了。抽象出IRepository接口,放在Domain里,然后通过依赖注入的方式将Infrastructure里具体的实现注入到具体的Domain Entity里,就是酱紫。
[该贴被sinaID71717于2014-05-27 12:57修改过]

对,抽象出IRepository接口,这样Domain依赖IRepository,Infrastructure也依赖IRepository,Domain和Infrastructure不再互相依赖,其实就是依赖的转移。

在domain抽出接口IRepository,并建立反射工厂(EntiyFactory),利用EntiyFactory的CreateGroupRepository方法,在实体类(admin)GetGroup方法中反射出GroupRepository
如: IRepository ir = DataAccess.CreateGroupRepository();
那么我该如何使用GroupRepository里的私有方法呢?!
[该贴被aa317016589于2014-05-27 15:20修改过]