DependencyResolver vs. ControllerFactory

9

A ASP.NET MVC 3 introduziu o DependencyResolver e vi muitos artigos como é legal. Mas espere ... qual é a diferença em relação à abordagem do ControllerFactory? Parece muito parecido para mim.

    
por SiberianGuy 25.07.2011 в 01:25
fonte

1 resposta

5

O ServiceLocator é projetado como uma camada de abstração que permitirá que você implemente seu próprio ServiceLocator Adapter, que determina como os serviços são resolvidos em seus aplicativos. Um desses exemplos é o Adaptador de Localização de Serviços Windsor .

O localizador de serviço tem a capacidade de resolver os controladores registrados com o localizador de serviços de acordo com Brad Wilson :

  

Este é um novo recurso para o MVC 3. O framework MVC (especificamente, o   Classe DefaultControllerFactory) foi atualizada para tentar criar   todas as instâncias do controlador com o localizador de serviço registrado.

O localizador de serviço também pode ser usado em todo o framework para resolver muitas outras dependências que o framework ASP.NET MVC usa como dependências requeridas por ActionFilters, ResultHandlers e até mesmo ViewEngines.

Se você disponibilizar todas as suas instâncias de seus controladores, para um aplicativo padrão, é altamente improvável que você precise de uma fábrica de controladores personalizada.

No entanto, se você precisar fazer algo específico antes, durante ou após a instanciação do controlador, poderá usar o controllerfactory para cuidar dessas implementações específicas antes de ser retornado para uso pelo restante da estrutura.

    
por lomaxx 25.07.2011 / 02:32
fonte