2008-11-15 28 views
32

Khuôn khổ mở rộng quản lý được công bố gần đây (MEF) của .NET 4.0 - đây có phải là khung tiêm phụ thuộc không? Microsoft Unity từ các mẫu và thực tiễn có lỗi thời trong phiên bản 4.0 không? MEF so sánh với một khuôn khổ như Unity như thế nào?MEF có phải là khung tiêm phụ thuộc không?

+0

[Câu hỏi này] (http://stackoverflow.com/questions/42251/whither-managed-extensibility-framework-for-net) có thể là bạn quan tâm. –

Trả lời

27

Cụ thể trong PDC 2008 2nd Keynote của Scott Guthrie, MEF có nhiều thứ liên quan đến việc mở rộng Visual Studio 2008 và các ứng dụng khác mà không phải sử dụng tất cả các công nghệ COM và cũ ... trình diễn mở rộng phiên bản văn bản trong VS2008 được thể hiện trong số những thứ khác. Bắt đầu khoảng một giờ và 15 phút vào bài phát biểu ngày thứ 2 (http://www.microsoftpdc.com) và bạn sẽ nhận được thông tin trực tiếp, nhưng về cơ bản nếu bạn định "xây dựng một ứng dụng có các điểm mở rộng có thể dễ dàng được khám phá và hỗ trợ khám phá mở rộng, "sau đó MEF là những gì bạn muốn. UNITY là những gì bạn muốn cho một container IoC chất lượng cao có DI cũng như các giải pháp khác ngoài kia nhưng có sự tích hợp tuyệt vời và dễ dàng với Thư viện doanh nghiệp.

Liên quan đến Unity trong EL4.0 (nay là 4.1 - http://msdn.microsoft.com/en-us/library/dd203099.aspx) thực sự là một IoC nằm trên đầu phiên bản 2 ObjectBuilder và EL4.1 có các điểm mở rộng để thống nhất cấu hình của các khối ứng dụng EL khác nhau với Unity .

MEF so với Unity giống như so sánh táo với cam. Một số lớn và cụ thể podcast/webcast (s) mô tả thống nhất trong toàn đang ở đây, mà tôi khuyên bạn nên:

DotNetRocks Hiển thị # 393 http://www.dotnetrocks.com/default.aspx?showNum=393 DNR.tv Show # 126 http://www.dnrtv.com/default.aspx?showNum=126

+10

Nhưng tại sao tôi muốn sử dụng Unity khi tôi có MEF? – bitbonk

1

Tôi thấy một bản ghi đã làm cho nó nghe như một nhưng nhiều thông tin (Scott Guthrie at PDC2008 [Video/wmv]) khiến tôi nghĩ rằng đó không chỉ là khuôn khổ tiêm phụ thuộc. Từ sounds of things, nó có thể được sử dụng để tiêm phụ thuộc nhưng cũng có nhiều hơn.

0

Tôi muốn thêm một dòng mopre mà tôi vừa đọc rằng MEF không phải là một phần của Inversion of Control (như dependecny được cho là từ đồng nghĩa của IOC) nhưng nó thực hiện nó. Khi chúng ta triển khai IOC qua tiêm phụ thuộc, chúng ta thường sử dụng Unity, giúp phát hiện các phụ thuộc tĩnh nhưng MEF cho phép chúng ta tăng khả năng mở rộng của ứng dụng mà không cần cấu hình các thành phần tĩnh, thậm chí chúng có thể được phát hiện trong thời gian chạy. Có các liên kết khác cũng có thể giúp bạn nhiều hơn: Difference between Unity and MEF

+1

Tôi không chắc chắn câu trả lời này là hoàn toàn mạch lạc –

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