В темные дни .NET 1.1 я создал (думаю, как и все) своего рода систему MVC для приложения, которое работало так.
Страница была сделана, чтобы быть своего рода «поддельным» мастером. Это было немного сантехника, чтобы показать меню, сценарии, стили и т. Д.
«Представления» были отдельными пользовательскими элементами управления.
Там была таблица с информацией о каждом представлении. Например, «Продукт» будет загружен ~/Controls/Product.ascx
в заполнитель. В таблице также есть поле, которое содержит имя типа класса модели (как будто). В каждой модели реализован известный интерфейс. Этот класс был создан с использованием Activator.CreateInstance()
и вызван для инициализации, а затем был передан самому элементу управления (инверсия управления?). Затем элемент управления вызывал различные методы для получения наборов данных или еще чего-нибудь. Сам интерфейс был нормализован, чтобы иметь обычные методы CRUD (Read / Write / List / Delete). Под этим был также слой DAL / ORM.
Это было не красиво, но работало хорошо. Было легко тестировать и разрабатывать, и большинство разработчиков, которые пришли на борт, довольно быстро освоились. Больше всего его было относительно просто создать.