@Venesuella
BlackJack и ...

Зачем используют интерфейсы при проектировании архитектуры приложения?

Разъясните незнающему, смотрю пример onion архитектуры на сайте metanit там применяются интерфейсы в OnionApp.Domain.Interfaces, не совсем понятно зачем интерфейсы там нужны?
  • Вопрос задан
  • 706 просмотров
Пригласить эксперта
Ответы на вопрос 6
@LEKAPb
Использование интерфейсов это всего лишь подход,который упрощает тестирование и позволяет более легко подменять реализацию, и еще много чего. С использованием интерфейсов проще создавать декомпозитные приложения с возможностью расширяемых модулей. Самый простой и понятный пример зачем нужны интерфесы, это создать систему подключаемых плагинов к приложению.www.vr-online.ru/content/c-plagin-za-5-sekund-3890
Ответ написан
Комментировать
Nipheris
@Nipheris Куратор тега C#
Я думаю интерфейсы в этом примере применяются как и везде - для контроля за связями между компонентами крупной системы и для обеспечения заменяемости компонент.

Раз уж так, разрешите мне прилинковать старый ответ: Какова роль интерфейсов в ООП?
Ответ написан
Комментировать
AxisPod
@AxisPod
Всё познается прям отлично на собственных ошибках, сделайте серьезный проект без интерфейсов и все вопросы отпадут.

А уж интерфейсы там именно для того, для чего они предназначены в ООП.
Ответ написан
Комментировать
@SergioMadness
Для полиморфизма
Ответ написан
Комментировать
Buzzz
@Buzzz
SharePoint | Office 365 | .Net Developer
Еще добавлю чутка. Сам делал недавно проект на mvc и есть такие вещи как "Unit of Work" и прямое разделение на слои приложения и как раз в сервисном слое без интерфейсов никак. Ну и как ранее упомянули полиморфизм и ООП. Если ничего этого не делать, то в итоге можно получить на добротном проекте большую какаху. Конечно в мелких проектах можно и без них, но мы все и сами знаем что все маленькое это только старт для заказчика и можно просто взять фальшстарт, а потом затрахаться с покрытием тестами т.к. Придется переписывать и пропадает расширяемость. А если там еще будет замута с сервисами в Azure то все вилы, так что делаем выводы и пытаемся сразу стартовать правильно.
Ответ написан
Комментировать
Интерфейс этот как бы чертеж класса с описанием того, что мы хотим что бы этот класс умел (кроме всего, что тут уже было сказано).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 09:18
500 руб./в час
26 апр. 2024, в 06:46
1500 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект