Я перебуваю на стадії планування, щоб система інтрамережі працівника була побудована за допомогою ASP.NET MVC 4. Ми хотіли б, щоб сайт складався з окремих "модулів", кожен з яких надає різні функції: обмін повідомленнями, зміни в оплаті праці тощо. Я хотів би, щоб ці модулі могли бути включені або відключені під час компіляції. На домашній сторінці відображатиметься якась навігація, яка буде посилатися на кожен завантажений модуль.
Це легко поки що, але я не хочу, щоб функція навігації мала знати про модулі заздалегідь. Іншими словами, я хочу, щоб модулі були динамічно відкритими; Я хочу мати змогу написати код для нового модуля, а потім мати посилання, додане до панелі навігації, без зміни коду ніде в джерелі. Кожен модуль повинен мати певний спосіб реєстрації себе за допомогою навігаційної панелі, і - що ще важливіше - це слід робити для кожного модуля під час його завантаження.
Я вважаю, що це виключає використання областей MVC, оскільки вони розроблені для випадку, коли розташування сайту відомо заздалегідь. MEF здається, що це може бути доречним, хоча, здається, люди мали неоднозначний успіх у поєднанні MEF з MVC. Чи справді MEF - це спосіб пройти сюди, чи є кращий спосіб виконати те, що мені потрібно?