Tôi đang tìm một số ví dụ/giải thích cơ bản về Unity. Tôi gặp khó khăn trong việc nắm bắt khái niệm. Tôi có sự hiểu biết cơ bản về mô hình tiêm vì dường như Unity liên quan chặt chẽ đến nó. Tôi đánh giá cao sự giúp đỡ nào.Microsoft Unity là gì?
9
A
Trả lời
11
Unity là một trong những several DI Containers for .NET. Nó có thể được sử dụng để soạn đồ thị đối tượng, khi các loại được đề cập theo sau Dependency Inversion Principle.
Cách đơn giản nhất để làm điều đó là sử dụng Constructor tiêm mẫu:
public class Foo : IFoo
{
private readonly IBar bar;
public Foo(IBar bar)
{
if (bar == null)
throw new ArgumentNullException("bar");
this.bar = bar;
}
// Use this.bar for something interesting in the class...
}
Bây giờ bạn có thể cấu hình Unity trong của ứng dụng Composition Root:
container.RegisterType<IFoo, Foo>();
container.RegisterType<IBar, Bar>();
là các Đăng ký giai đoạn của Register Resolve Release pattern. Trong Resolve giai đoạn các container
sẽ Auto-wire đồ thị đối tượng mà không cần cấu hình thêm:
var foo = container.Resolve<IFoo>();
này hoạt động tự động vì cấu trúc tĩnh của các lớp tham gia bao gồm tất cả các thông tin container cần phải soạn đối tượng đồ thị.
0
Kiểm tra ở đây: Microsoft Unity 2.0 – April 2010
1
Các vấn đề liên quan
- 1. Các loại chuyển tiếp trong Microsoft Unity
- 2. Thuộc tính Unity InjectionConstructor là gì?
- 3. WPF/Lăng kính: Container UNITY là gì?
- 4. Ai đó có thể giải thích về Microsoft Unity?
- 5. Gói Microsoft Nuget dữ liệu cho trang web của Microsoft ASP.NET là gì?
- 6. Microsoft Azure xử lý Trạng thái Phiên là gì?
- 7. Microsoft Unity. Làm thế nào để xác định một tham số nhất định trong constructor?
- 8. Unity Resolve Multiple Classes
- 9. Các đối số chống lại Mono là gì? Microsoft Community Promise có thay đổi gì không?
- 10. Tại sao tiện ích tệp nhận dạng tệp Microsoft Word là CDF? CDF này là gì?
- 11. Unity 'GetAllInstances' không trả lại bất cứ điều gì
- 12. Microsoft JScript lỗi runtime: 'Sys' là undefined
- 13. Constructor Injection trong C#/Unity?
- 14. Unity GET/POST Wrapper
- 15. Máy quay fps Unity
- 16. Unity PerThreadLifetimeManager and Tasks
- 17. Cách tốt nhất để phân tích cú pháp tài liệu Microsoft Office và PDF là gì?
- 18. Microsoft Message Queuing (MSMQ) là gì? Làm thế nào nó hoạt động?
- 19. Sự khác nhau giữa Microsoft WebMatrix và Visual Studio là gì?
- 20. Hệ điều hành tốt nhất cho nhà phát triển Microsoft là gì?
- 21. Microsoft sử dụng làm kiểu dữ liệu cho chuỗi Unicode là gì?
- 22. Những hạn chế lớn khi sử dụng OpenOffice DB so với Microsoft Access là gì?
- 23. Cách tối ưu để so sánh ngày tháng trong máy chủ Microsoft SQL là gì?
- 24. Cách tốt nhất để tạo Microsoft OOXML (docx) từ ứng dụng đường ray là gì?
- 25. Mục đích của Bộ điều hợp Loopback của Microsoft là gì?
- 26. Kế hoạch kiểm soát nguồn phân tán của Microsoft là gì?
- 27. Gcc trên Linux tương đương với các phần quan trọng của microsoft là gì?
- 28. Unity PlayerPrefs saving
- 29. Tiêm mảng với Unity
- 30. Unity Singleton Code
Để thêm vào câu trả lời của Mark (hy vọng anh ấy không quan tâm), nếu bạn muốn tìm hiểu thêm về Dependency Injection, có một cuốn sách rất hay được gọi là "Dependency Injection in .NET" được viết bởi Mark. http://www.manning.com/seemann/ – Phill
@phill: vui lòng không làm điều đó. Mark ghét nó khi mọi người tham khảo cuốn sách của anh ấy :-) – Steven
:(Xin lỗi, không làm lại. – Phill