ASP.NET — технология создания веб-приложений и веб-сервисов от компании
Майкрософт. Она является составной частью платформы Microsoft .NET, которая включает большую библиотеку готовых решений для типичных задач программирования и виртуальную машину исполнения программ для этой платформы.
Платформа NReco.Сайт расширяет инфраструктуру ASP.NET, а также использует каркас
NReco. Отличительные особенности NReco:
- поддержка компонентной разработки (использование паттерна "инверсия управления" (IoC), и контейнера, специально адаптированого для условий ASP.NET приложений)
- уникальная реализация поддержки предметно-зависимой модель-ориентированной разработки (MDD)
- библиотека разработанных абстрактных мета-моделей (UI Layout, Entity, Operation и так далее) и их трансформаций, которые могут быть использованы в любом ASP.NET приложении
- использование многоуровневых моделей позволяет избежать типичных проблем, связанных с модель-ориентированной разработкой (трудоемкость внесения специфических изменений, которые выходят за рамки возможностей той или иной модели)
Проще всего процесс создания/изменения приложения на основе платформы NReco можно описать с помощью аналогии с конструктором Lego:
- существует базовый набор компонентов, которые могут соединяться различными способами - таким образом можеть быть получен более сложный композитный компонент
- компонент определенного типа (по интерфейсу) может быть легко заменен другим, с совместимым интерфейсом - это позволяет минимизировать затраты при изменении требований к компонентам
Конечно, на самом деле все немного сложнее (в любом случае сборка системы несколько сложнее сборки модели Lego), однако на фоне традиционных подходов все выглядит именно так. Использование уникальных технологий и архитектурных решений позволяет:
- cущественно уменьшить время разработки системы путем организации эффективного повторного использования компонентов
- обеспечить высокое качество решения в результате использования стабильных и отлаженных компонентов
- достичь высокой степени масштабируемости благодаря использования сервис-ориентированной, слабо-связанной архитектуры
- при этом обеспечить невысокую стоимость разработки и поддержки системы