Cách tiêu chuẩn cho phép và triển khai hệ thống plugin cho ứng dụng của bạn là gì?Mẫu thiết kế để triển khai plugin trong ứng dụng của bạn?
Trong ứng dụng cuối cùng của mình, tôi đã tạo một giao diện đơn giản cho tất cả các plugin mà chúng phải triển khai. Sau đó tôi tải tất cả các assembly trong thư mục apps và quăng ra bất kỳ assembly nào không thực hiện giao diện đó.
Một trong các phương thức trong giao diện là phương thức DoWork() định kỳ được gọi trên tất cả các assembly được nạp để thực hiện bất kỳ tác vụ nào mà plugin có thể có.
Cách "thích hợp" để thực hiện hệ thống plugin là gì? Bạn chỉ cần tạo một Giao diện cho các plugin? Bạn có nên định kỳ gọi một phương thức cụ thể trong tất cả các plugin không? Có cách nào tinh vi hơn không?
EDIT:
Cảm ơn bạn Matt Hamilton cho tham chiếu đến namespace System.Addin. Điều này rất có thể sẽ là cách tôi triển khai plugin của mình. Tuy nhiên, tôi vẫn tò mò về kiến trúc plugin nói chung và sẽ không quan tâm đến một số nền tảng về cách tốt nhất mà chúng nên được thiết kế, ngụ ý .. cách bạn nên gọi cho chúng khi được tải, v.v.