Страницы

Поиск по вопросам

воскресенье, 29 декабря 2019 г.

Что означает Use Case в контексте архитектуры?

#архитектура #терминология


Пытаюсь разобраться с архитектурой MVP и все чаще слышу Use Case.
Что оно значит? Википедия как-то не обьясняет. 
    


Ответы

Ответ 1



UseCase - это бизнес-логика, которую вы можете описать простым предложением. Например, "Добавить платежку", "Удалить платежку", "Отредактировать платежку". Канонического определения Interactor нет. Кто-то приравнивает UseCase и Interactor. Я сторонник подхода, что Interactor = UseCase feature facade. То есть для нашего примера есть PaymentsInteractor, который включает вышеописанные UseCases. Такой подход удобден тем, что получается более стройная и упорядоченная структура бизнес-логики. Если UseCase - это отдельный класс, то ваше приложение может быть заполонено этим бойлерплэйт кодом. Кроме того, когда у вас ситуации, что один UseCase зависит от другого и т.д., вам все равно как-то придется их объединять.

Ответ 2



Это сценарий использования приложения или часть приложения. Например, Use Case для приложения банкомата будет выглядеть примерно так: Войти в аккаунт (положив карточку и набирая ПИН код) Узнать баланс Положить деньги Вывести деньги Оплачивать счета. (за моб. телефон, за коммунальные услуги и тд.и тп.) (и другие действия если имеются) Выйти из аккаунта (вытащив карточку) А Use Case для переключателя будет так: Включить Выключить Исходя из этого сценария уже можно создать архитектуру приложения, можно нарисовать диаграммы (диаграмма деятельности, диаграмма последовательности, диаграмма класса и тд.).

Ответ 3



UseCase - это "способ использования", бизнес-логика. В видео-презентации Uncle Bob приводит пример с размещением заказа. И это может быть любой заказ, даже не в приложении, а например клерку в банке. То есть UseCase описывает последовательность действий для размещения заказа. Для класса делающего это Uncle Bob ввел название Interactor. То есть это то же самое (Interactor = UseCase).

Комментариев нет:

Отправить комментарий