Я немного запутался с MEF, MAF, Unity...
Этот вопрос касается архитектуры приложения Winform.
У меня есть основной проект, который содержит основную форму и некоторые другие формы;
Поскольку я хочу включить модульность, я думаю об использовании системы плагинов.
Что я хотел бы сделать, так это открыть каждую DLL плагина, когда основное приложение открыто, чтобы ссылаться на каждую кнопку, панель инструментов...
Затем я хотел бы удалить их, пока они не будут вызваны.
Но я не хочу, чтобы все плагины хранились в памяти... просто чтобы получить хорошую архитектурную модель.
Итак, сначала о .NET: хранит ли dotNet только ссылку на плагины dll в памяти или весь код плагина?
Я думаю об использовании MEF с LAZY
коллекцией импорта, но мне нужно сначала создать их экземпляр, чтобы получить информацию о моих кнопках. Итак, второй вопрос
Если я установлю для коллекции импорта значение null
и снова запущу функцию compose
(), плагины будут загружены или будут ждать вызова для загрузки (ленивый)?