2012-06-17 33 views
5

Tôi chỉ mới bắt đầu với Unity. Tôi vẫn tự hỏi những lợi thế của nó là gì.Lợi thế của UnityContainer.Resolve qua Activator.CreateInstance là gì?

UnityContainer().Resolve<T>() có thể trả lại trường hợp cụ thể của loại được đăng ký cho loại chung T.

Tôi nghĩ tôi cũng có thể sử dụng Activator.CreateInstance<T>().

Activator là lớp được xây dựng trong .NET Framework, vì vậy tôi tự hỏi tính năng khác biệt của Unity là gì?

+4

Đọc bất kỳ hướng dẫn nào về tiêm phụ thuộc và bạn sẽ có câu trả lời ... –

+4

Bên cạnh đó, Activator.CreateInstance là * slow * và không thể ánh xạ giao diện tới các loại cụ thể. Nó là vô ích cho tiêm phụ thuộc –

Trả lời

4

MSDN khẳng định này như là những ưu điểm của Unity container:

    tạo
  1. đối tượng đơn giản, đặc biệt là cho các cấu trúc đối tượng thứ bậc và phụ thuộc
  2. Abstraction yêu cầu; điều này cho phép các nhà phát triển xác định các phụ thuộc vào thời gian chạy hoặc trong cấu hình và đơn giản hóa việc quản lý các mối quan tâm crosscutting
  3. Tăng tính linh hoạt bằng cách trì hoãn cấu hình thành phần cho vùng chứa
  4. Khả năng vị trí dịch vụ; điều này cho phép khách hàng lưu trữ hoặc lưu trữ bộ nhớ cache
  5. Trường hợp và loại chặn.

Đây là link.

Các vấn đề liên quan