ManagerB, каждый занят своими делами. Так же оба два с текущим стеком имеют состояние запущен/остановлен. Попытался описать последнее через отдельный протокол в таком виде:
Node {
val isOnline: BehaviorSubject<Boolean>
fun start(): CompletableSubject
fun stop(): CompletableSubject
}
Проблема в том, что ManagerA не требует ничего для старта, тогда как ManagerB требует некоторые примитивы получать для старта и возможность остановить работу и заменить при повторном старте эти значения.
Мне в голову приходит такой вариант: Node<T : Args>, где Args будет sealed class, наследник которого может нести от 0 до Н-штук параметров. Это ведь костыль, да?
да, боль
хз может сделай проверку на null, если null то start выведет что - то или вообще ничего не сделает.
Ну вот тут у тебя все в куче
Так то начало треда, я там приходил с вопросом, реплай на ответ я добавил чуть выше
Обсуждают сегодня