Jestem na etapie planowania budowy intranetu pracowniczego za pomocą ASP.NET MVC 4. Chcielibyśmy, aby witryna składała się z oddzielnych „modułów”, z których każdy ma inną funkcję: wysyłanie wiadomości, zmiany płac itp. Chciałbym, aby te moduły mogły być włączane lub wyłączane podczas kompilacji. Strona główna wyświetli rodzaj nawigacji, która będzie prowadzić do każdego załadowanego modułu.
Jak dotąd jest to łatwe, ale nie chcę, aby funkcja nawigacji musiała wcześniej wiedzieć o modułach. Innymi słowy, chcę, aby moduły były dynamicznie wykrywalne; Chcę mieć możliwość napisania kodu dla nowego modułu, a następnie dodania łącza do paska nawigacji bez żadnych zmian kodu w innym miejscu w źródle. Każdy moduł powinien mieć możliwość zarejestrowania się na pasku nawigacyjnym, a - co ważniejsze - należy to zrobić dla każdego modułu podczas ładowania.
Uważam, że wyklucza to korzystanie z Obszarów MVC, ponieważ są one zaprojektowane na wypadek, gdy układ strony jest znany wcześniej. Wydaje się, że MEF może być odpowiednie, chociaż ludzie mieli mieszane sukcesy w łączeniu MEF z MVC. Czy MEF to tak naprawdę sposób na przejście tutaj, czy też istnieje lepszy sposób na osiągnięcie tego, czego potrzebuję?