2012-06-17 13 views
5

Po prostu zaczynam z Unity. Nadal zastanawiam się, jakie są jego zalety.Jaka jest zaleta UnityContainer.Resolve nad Activator.CreateInstance?

UnityContainer().Resolve<T>() który może powrócić konkretny przykład takiego typu, który jest zarejestrowany na uniwersalnym typem T.

myślę, że mogę również użyć Activator.CreateInstance<T>().

Activator jest wbudowaną klasą w .NET Framework, więc zastanawiam się, jaka jest odrębna cecha Unity?

+4

Czytaj żadnych tutorial wstrzykiwania zależności, a będziesz miał odpowiedź ... –

+4

Poza Activator.CreateInstance jest powolny * * i nie można mapować interfejsy do konkretnych typów. Jest bezużyteczny w przypadku iniekcji zależności –

Odpowiedz

4

MSDN stwierdza je jako zaletach Unity opakowaniu:

    tworzenia
  1. Zmniejsz obiektu, zwłaszcza dla hierarchicznych struktur obiektów i zależności
  2. pozyskiwania wymagań; pozwala to programistom na określanie zależności w czasie wykonywania lub konfiguracji i upraszczanie zarządzania zagadnieniami przekrojowymi.
  3. Zwiększona elastyczność poprzez odraczanie konfiguracji komponentów do kontenera
  4. Możliwość lokalizacji usługi; Pozwala to klientom przechowywać lub buforować pojemnik
  5. instancji i typ przechwytywania.

Oto link.

Powiązane problemy