214 похожих чатов

Я читал, но интерактор все равно для меня остается эдаким

серым пятном в чистой архитектуре.
1.А если у нас есть общая часть у двух юзкейсов (include в UML usecase diagram), то два интерактора вызывают на каком-то этапе третий?
2. Какую гибкость дает реализация интеракторов паттерном командой?
3. Должен ли интерактор быть всегда реактивным? Скажем если есть логика, но не требуется запрос к данным.

2 ответов

5 просмотров

Пока занят, отвечу ночью, если никто больше не ответит.

1. Да, интеракторы могут иметь ссылки друг на друга. Они находятся в одном слое - т.е. это не запрещено «идеологически». В тестировании это не становится помехой, вы можете протестировать каждый из них, сделав мок на общий, когда это нужно. Правило «prefer composition over inheritance», опять таки, соблюдается. Интеракторы могут также работать и просто с классами бизнес логики, возможно, у вас именно этот случай. 2. Тут всё стандартно - выигрывает Single Responsibility из SOLID (и вы можете эту же конкретную комнду вызывать из других мест, где это необходимо, и они не будут знать об остальных командах, которые им нужны, принцип Open/Closed оттуда же. Ну и остальные возможности, по типу возможности автоматического логирования всех команд с помощью класса-декоратора, работающего над командами или возможности управления очередью команд, если вам это необходимо. Основной минус - количество классов быстро разрастается, лично я из-за этого не использую данный подход. 3. Нет, не должен. Он может просто совершить некоторую операцию над данными, например, и ничего не вернуть.

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
Коллеги, как получить PId для собственного процесса из под линукса?
Роман Лях (rgreat)
6
@ahndmn @ayaw0_0 здарова, на чем пишете?
Aiwan \ (•◡•) / _bot
7
Карта сайта