我是依赖注入的新手,我正在尝试解决一个问题。我有两个服务。这些服务中的每一个都有需要彼此的方法。
例如:SiteManager
在需要 my ForumManager
. 我ForumManager
有方法需要我的SiteManager
.
我有以下两个课程:
public class SiteManager:ISiteManager
{
public IForumManager ForumManager { get; set; }
public SiteManager()
{
this.ForumManager = new ForumManager();
}
}
public class ForumManager:IForumManager
{
public ISiteManager SiteManager { get; set; }
public ForumManager()
{
this.SiteManager = new SiteManager();
}
}
很明显,这将导致堆栈溢出异常,因为它们相互调用。我在这里阅读了很多帖子,我想我只需要一个关于如何解决这个问题的小提示。我在他们自己的程序集中有我的接口。
我考虑过将依赖项放在它们自己的属性中,这样当它们被使用时,它们就会被制作出来。然而,这是最佳实践吗?
我不使用 IoC 容器(而且我以前没有使用过)。
有关如何以“最佳实践”方式解决此特定问题的任何提示!:-)