Vasily
И да, это некрасиво
Doge
Vasily
И не по фп
Vasily
Второй вариант- функция обёртка
Ayrat
Doge
И да, это некрасиво
Это опасная идея. Так легко можно получить в духе плохой акки приложения в паттерне реактивной лапши.
Где всё связано со всем через проброс сообщений через акторы.
Doge
Vasily
Doge
Vasily
Вот у меня, например, реализация мтпрото
Doge
Ayrat
И вот в обычном асп нет коре никакой композиции нет
Ayrat
Но тем не менее стейт запроса пропихивается
Vasily
Который лежит в базе и не жужжит
Vasily
Сообщению нах не впилось то, что в контексте, это важно модулю отправки/ получения
Vasily
Есть сообщение, есть контекст
Ayrat
Да
Vasily
И у меня, нету, блеать, монады ридер в коде
Vasily
Хотя неявно это она скорее всего
Daniil
на самом деле ридер удобно, но не очевидно для .NET
Daniil
вот нагуглил пример на фшарпе
Daniil
https://gist.github.com/Porges/df9b386a7e5383dbc857ea8fe49f4b95
Vasily
Хня
Daniil
типа нифига не очевидно откуда все это появляется
Ayrat
Короче, вы не поверите, но можно для хранения контекста создать нечто что этот контекст содержит. Ну и там функциями обмазать по кругу над таким контейнером.
Назовем такие функции методами, а контейнер классом.
Жалко его ещё в дотнет не завезли
Ayrat
Вот бы нам такой контейнер в ФП
Vasily
В общем, я к тому
Vasily
Что есть стиль академический
Vasily
А есть практический
Ayrat
Я так на жирафе пишу. С классами и композицией
Ayrat
Бомбит у обоих лагерей
Daniil
и получается весь код в классах?
Vasily
У меня даже mutable есть, и пока никто не умер
Ayrat
А пришлось бы в каждую отдельную функцию кидать без классов
Ayrat
Igor
x
вечер каминь-аутов
Igor
Обмазываю
Кстати, зачем тебе вообще жираф? Пиши сразу на asp net core (на c#, там и PM же завезли)
Ayrat
Daniil
жираф компактнее выходит жеж
Ayrat
Фшарп кстати сишурупу за щёку насовывает в ООП с фишкой - праймари конструктор
Vasily
Это да
Igor
Vasily
Там за две щеки
Ayrat
Могу пример дать, покажешь как короче
Ayrat
Минут через 60. Детей уложу, до компа доберусь
Ayrat
Vasily
На самом деле на f# значительно лаконичнее, чем аналогичный код на сишарп
Vasily
Это я не беру специфичные для языка кейсы
Vasily
Я где-то год назад баловался wpf на фшарпе
Ayrat
Vasily
Фишка в том, что без паршиал апплая в пару сотен функций можно обойтись
Ayrat
Вот представь апи с парой сотней реквестов разных, везде нужны одинаковые депенденси. Вот можно их получить один раз в конструктор. Или двести раз в двести функций
Vasily
Всего лишь добавлением () последним параметром
Vasily
Ayrat
А не в модуле где функции
Ayrat
Ну это и логично
Vasily
Тогда помогает разбитие функций по назначению
Ayrat
Vasily
Контекст обычно нужен тогда, когда основная поебота сформирована
Ayrat
Короче, покажу скоро
Vasily
И условно сериализована
Ayrat
Вот уже буквально вот вот
Ayrat
А может раньше
Vasily
Будь то жсон
Vladislav
А я хотел посмотреть кино, но вместо этого полтора часа фикшу софт на nas.
Vasily
Или httpmessage
Vasily