/
Dima57
/
ProgrammerResume
Обзор
Документация
Войти
/
Dima57
/
ProgrammerResume
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Models/Interfaces/IVaritable.cs
28 строк
2 KB
Dima57
28.06.2026
28 июн 2026, 12:18
Верифицирован
28 июн 2026, 12:18
792ff83
Код
Авторство
О чём код?
/* ======================================================== ИНТЕРФЕЙС - (Intertfaces) - IVaritable ======================================================== Интерфейс - это контракт, который определяет набор методов и свойств, который должен реализовать класс, подписавшийся на этот контракт. - Интрефейс не содержит реализаций (только сигнатуры) - Класс может реализовать несколько интерфейсов (множественная реализация) Принцип ООП: Абстракция + Полиморфизм */ //Контракт для объектов, которые могут проверить корректность своих данных, спроектированный по принципу SOLID (Interface Segregetion) - разделения интерфейсов. //Не все объекты нужно валидировать одинаково, поэтому валидация выделяется в отделбный интерфейс namespace ProgrammerResume.Models.Interfaces { public interface IValitable { //Проверка: заполнены ли все обязательные поля объекта корректно. //Возвращает true, если данные корректы //Возвращает false, если есть ошибки или отсутствуют обязательные данные. bool IsValid(); //Возвращает список ошибок валидации в виде строк, если объект корректен, то данный список будет пустым. IEnumerable<string> GetValidationErrors(); } }