Size: a a a

Советский Angular

2018 August 15

АД

Александр Духновский in Советский Angular
Вертихвост キバ
Флюх вообще говорит о том, что надо делить сторы на домены
Как бы имитировать мапинг сущностей на таблицы в орм по сути
источник

Вキ

Вертихвост キバ in Советский Angular
Александр Духновский
Как бы имитировать мапинг сущностей на таблицы в орм по сути
не совсем
источник

АД

Александр Духновский in Советский Angular
Давай подробности тогда, я в эту сторону не копал ещё
источник

Вキ

Вертихвост キバ in Советский Angular
Мне удобно отталкиваться от этой схемы. Она хоть и кратенькая, но примерно изображает что у нас вообще происходит со сторами.

Есть атомарная сущность - плагин. Он пишется кодом, имеет возможность конфигурироваться и прочее.

Есть еще одна атомарная сущность - стор. Стор никак не пишется кодом. Есть только некий класс, который в себя принимает набор плагинов.

Есть конфигурация атомарных сущностей, и в данном случае это два в одном: описывается стор с набором плагинов и их конфигурации.

Когда приложению требуется какой-то стор, то он просто запрашивается у билдера, который по конфигурации это все дело собирает.

Каждый плагин реализует в себе определенную логику, например общение с бекендом, работу с эвентами и каналами, обработка различных событий с последующей реакцией состояния или других плагинов. Все они накидываются друг на друга, работают каждый в своем контексте, со своими интерфейсами и конфигурацией.

Плагины могут общаться, например, канал умеет мапить эвенты и дергать другие плагины на различные действия (условно входы, выходы, хуки).
источник

Вキ

Вертихвост キバ in Советский Angular
Плюсы: в любой момент времени я могу динамически создать любой необходимый стор с кастомной бизнес логикой и своим контекстом.
источник

Вキ

Вертихвост キバ in Советский Angular
Ну и так как это все работает на композиции, то плюсы очевидны
источник

Вキ

Вертихвост キバ in Советский Angular
Относительно всего приложение и то, что оно делает, плагинов достаточно мало. Кусочек кода ты видел - они все простые, достаточно атомарные и независимые
источник

Вキ

Вертихвост キバ in Советский Angular
От redux тут мало что есть, согласен
Но суть надеюсь понятна
источник

АД

Александр Духновский in Советский Angular
Слабое место тут там же где и сильное - плагины? Или у них самих есть некие правила? Пока ты один, они будут в идеальном состоянии. Как только придет толпа, то сразу начнут патчить класс как попало
источник

АД

Александр Духновский in Советский Angular
Точнее чем попало, а не как
источник

АД

Александр Духновский in Советский Angular
Суть мне нравится 👍
источник

Вキ

Вертихвост キバ in Советский Angular
Тот же принцип используется у контейнеров. Взаимодействие на уровне конфигурации.

Доступ к реализации плагинов только у меня.
источник

Вキ

Вертихвост キバ in Советский Angular
Александр Духновский
Слабое место тут там же где и сильное - плагины? Или у них самих есть некие правила? Пока ты один, они будут в идеальном состоянии. Как только придет толпа, то сразу начнут патчить класс как попало
Кстати, по поводу правил.

Есть интерфейсы, и проверки правильности конфигурации.

Пока что конфигурация пишется вручную, но в будущем нет проблем сделать UI для ее создания. Тогда будет 100% контроль куда, что и зачем.
источник

Вキ

Вертихвост キバ in Советский Angular
И с учетом архитектуры приложения, это распространяется сразу на все: от доменов до конечного UI
источник

АД

Александр Духновский in Советский Angular
источник

Вキ

Вертихвост キバ in Советский Angular
источник

АД

Александр Духновский in Советский Angular
Ты не в тренде. Щас так про крутые штуки молодежь говорит 😂
источник

АД

Александр Духновский in Советский Angular
Только причем там пушка история умалчивает 😁
источник

S

Smooth Operator in Советский Angular
ебать канешно у вас тут системы
источник

IK

ILshat Khamitov in Советский Angular
у кого етсь роуты с переводами, я уже три дня пытаюсь ченить прикрутить, уже свое начал писать ((
источник