Tôi đã tìm kiếm các phương thức cung cấp hỗ trợ trình cắm thêm khác nhau cho ứng dụng của mình. Lý tưởng nhất, tôi sẽ tạo ra một chức năng cốt lõi và dựa trên các khách hàng khác nhau phát triển các plug-in/addons khác nhau như nhập, xuất dữ liệu, vv ... Một số phương pháp nào có thể làm cho ứng dụng C# có thể mở rộng thông qua kiến trúc plug-in?Cách phát triển chức năng dựa trên trình cắm thêm động trong C#
Cho phép tạo một ví dụ. Nếu chúng ta có một chương trình bao gồm một menu chính (File, Edit, View, et al.) Cùng với một TreeView hiển thị các nhãn hiệu xe hơi khác nhau do nhà sản xuất nhóm (Ford, GM, hiện tại). Nhấp chuột phải vào ô tô sẽ hiển thị menu ngữ cảnh với tùy chọn duy nhất là 'xóa xe'.
Làm thế nào bạn có thể phát triển ứng dụng để có thể triển khai trình cắm để bạn có thể cho phép một khách hàng thấy một thương hiệu mới trong TreeView, nói Honda và trình đơn ngữ cảnh ô tô để họ có thể 'vẽ một chiếc xe'?
Trong phát triển Eclipse/RCP, điều này dễ dàng được xử lý bởi các điểm mở rộng và các trình cắm thêm. C# xử lý nó như thế nào? Tôi đã xem xét việc phát triển kiến trúc trình cắm thêm của riêng mình và đọc trên MEF.
Tôi đã xem một số video MEF cho thấy việc sử dụng các bản tải, catelog và container. Tuy nhiên tôi chưa hiểu đầy đủ cách MEF cho phép bạn triển khai một plugin chỉnh sửa menu chính hoặc menu ngữ cảnh cho kiểm soát. Tôi đoán tôi đang bỏ lỡ bước nhảy cuối cùng từ những gì video miêu tả và cho phép ứng dụng của tôi phản hồi lại các phần quà của các plugin i, e. thêm một nút menu mới vào menu chính chẳng hạn. – Matthew
Điều đó sẽ trở nên dễ dàng hơn để tìm ra nếu bạn sử dụng MVVM (http://msdn.microsoft.com/en-us/magazine/dd419663.aspx). Điều này sẽ cho phép bạn liên kết Menus và MenuItems với mô hình đối tượng cơ bản (có thể cắm). –