Хотите масштабируемую систему? Знания, Действия, События
🏚 ->Хотите масштабируемую систему? -> 🏰Системы состоят из:. Знания – какой-то набор скомпонованных данных, отражающих состояние какого-то понятия / объекта (“Заказ” в интернет-магазине). Действия – действия над Знаниями, чаще всего это или CRUD (“получить список Заказов”), или более комплексный набор действий, который производит много CRUD (“оформить Заказ”). События – данные, оповещающие о фактах (всегда глагол и всегда в прошлом времени), произошедших в системе над Знаниями во время Действий (при оформлении: “изменился статуса Заказа”, “сформирована накладная в системе доставки”, “произведена оплата”, etc.)Если про первые 2 понятия присутствуют в любой программе, то про 3-е все успешно забывают, а оно не менее (а часто более) важно!Ведь именно События позволяют:1. Разбивать систему на небольшие независимые куски, реагирующие на события друг друга2. Расширять функционал, создавая системы, который реагируют на события, а не переписывая существующие3. Знать состояние системы в прошлом (или как минимум поток событий), что позволяет удобнее дебажить4. etc.Это сейчас относиться не только к backend или frontend, так можно писать даже библиотекиО том, как работать с Событиями гуглите:. DDD Domain и Application Events. Event Driven Architecture. Saga pattern. Orchestration vs ChoreographyНу, или поставьте 15 классов (👌), тогда я сделаю воркшоп на эту тему———