Завдання: ASP.NET Core MVC. Багаторівнева архітектура. Рівень представлення. Веб-додаток «Музичний портал»
Модифікувати раніше розроблений веб-додаток «Музичний портал» з монолітною архітектурою таким чином, щоб у результаті вийшла трирівнева архітектура.
У цьому завданні необхідно реалізувати Presentation Layer (рівень представлення), з яким безпосередньо взаємодіє користувач.
Зокрема, потрібно:
- Розробити класи-контролери (Controllers).
- Розробити подання (Views) — Razor-шаблони (.cshtml).
- За потреби розробити моделі представлення (View Models або Binding Models) — спеціальні класи для передачі даних між контролером і представленням.
- Забезпечити валідацію трансферних моделей (DTO) як на стороні сервера, так і на стороні клієнта.
- Для управління процесом валідації застосовувати атрибути валідації (Data Annotations, наприклад
[Required],[StringLength],[RegularExpression]тощо). - Для відображення помилок валідації використовувати тег-хелпери валідації:
<asp-validation-summary>— для загального підсумку помилок.<asp-validation-for>— для помилок конкретного поля.
- Забезпечити стилізацію повідомлень про помилки (наприклад, за допомогою CSS-классів Bootstrap:
text-danger,is-invalid, або власних стилів).
Рівень представлення повинен взаємодіяти виключно з рівнем бізнес-логіки (BLL) через абстракції (інтерфейси сервісів). Безпосередній доступ до рівня доступу до даних (DAL) з контролерів заборонений. Основний акцент — на чистоті контролерів, правильній передачі даних через View Models/DTO, повноцінній валідації та зручному відображенні помилок для користувача.