使用Unity是否有任何性能优势?

时间:2013-10-21 05:55:08

标签: asp.net-mvc unity-container asp.net-mvc-5

我在我的申请中一直这样编码:

public class ContentController : ApiController
{
    private IUow _uow;
    private IContentService _contentService;

    public ContentController(
        IUow uow,
        IContentService contentService)
    {
        _uow = uow;
        _contentService = contentService;
    }

然后:

    container.RegisterType<IContentService, ContentService>();

我是从这种方式开始的,因为我一直在阅读如何使用接口来使事情变得可测试并使用像Unity之类的东西来轻松改变事物。

但是在一年或更长时间后,我仍然没有找到需要改变的东西,我可以用其他方式测试我的应用程序,而无需不同的服务。

对于小型应用程序(&lt; 20控制器),使用Unity之类的东西确实有任何优势。性能如何?它是否会改善任何事情或使问题复杂化。

1 个答案:

答案 0 :(得分:1)

  

对于小型应用程序(&lt; 20控制器),确实有   使用像Unity这样的东西的优势。

是的,因为它会让你编写更多弱耦合代码。

  

性能如何?它是否会改善任何事情或使问题复杂化。

不,它不会提高性能。

  

我可以在不需要不同服务的情况下以其他方式测试我的应用程序。

如果你不使用接口来削弱应用程序不同层之间的耦合,那就不要自欺欺人地认为你是对应用程序进行单元测试。你正在做的是集成测试,这也是必要的,但它有不同的用途。

是否使用Unity等DI框架并不重要。您只需几行代码即可轻松排列自己的DI。重要的是对接口进行编程。