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

Да, вы правы. ReactiveX можно считать "концептуальным фреймворком". Вопрос терминологии.

Но если вернуться к сути вопроса в контексте конкретно архитектуры - тогда врятли.
Ну смотрите. Мы пишем магазин. Есть склад с товарами и несколько прилавков. На уровне проектирования нам нужно решить, каким образом компоненты нашего магазина будут взаимодействовать. Продавец может бегать на склад с запросом на товар по некоему триггеру. В нашем случае - покупатель пожаловал-с. Или же кладовщик может пинать продавцов каждый раз, когда состояние товаров на складе меняется(что-либо продали, или завезли). Граммотная архитектура позволит мне легко заменить склад на какой-нибудь альтернативный, или прилавок. Но вот переход от принятого по всей системе стиля общения между модулями не получится провести без существенных изменений всех модулей.
Ваше замечание вполне правомерно. Завязываясь на ReactiveX, мы не сможем в последствии безболезненно от него отказаться. Но это неизбежно, т.к. ркс не является либой, решающей некую конкретную задачу. Это набор инструментов для организации глобальной парадигмы и его замена будет чуть не равносильна отказу от ООП. И ваше замечание, как мне думается, равносильно замечанию: "а что , если мы вдруг захотим перейти на Flatter"? Ну тогда лично мне придется переписать приложение. Т.К. я не знаю архитектурного подхода, позволяющего превратить такие фундаментальные изменения в штатный случай.

2 ответов

6 просмотров

я могу рассказать, как такое заимплементить без завязки на рхджаву, но тогда мне придётся рассказать, что такое HKT, а затем фри-монада или теглесс файнал

Как раз тот случай, когда зависеть от стабильной и работающей штуки не так уж плохо. Главное четко понимать, к чему это приведет, и если вы абсолютно уверены, что не перейдете на МПП - не надо под него затачиваться. Нет сферической архитекруты в вакууме, есть та, которая решает конкретную задачу и оставляет некоторую гибкость в тех рамках, которые вам нужны.

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
Подскажите, а есть vault lite или ченить такое?) А то нужен вольт для похода в вольт, но весит он ~500 мб) как-то многовато для парочки запросов ))
Alexandr Orloff
17
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Карта сайта