СООБЩЕНИЙ • КАЖДАЯ КОМАНДА МОЖЕТ ИМЕТЬ ТОЛЬКО 1 ОБРАБОТЧИК • КАЖДОЕ СОБЫТИЕ МОЖЕТ ИМЕТЬ НЕСКОЛЬКО СЛУШАТЕЛЕЙ • ОБРАБОТЧИК\ПОДПИСЧИК МОЖЕТ БЫТЬ РЕАЛИЗОВАН С ПОМОЩЬЮ ЛЮБОГО ЯЗЫКА ПРОГРАММИРОВАНИЯ
ЛИБО ПРИВОДИТ К СОХРАНЕНИЮ ИЗМЕНЕНИЙ, ЛИБО ВЫПОЛНЯЕТ КОМПЕНСИРУЮЩЕЕ ДЕЙСТВИЕ (ATOMICITY). ПРЕДСТАВЛЯЕТ ИЗ СЕБЯ КОНЕЧНЫЙ АВТОМАТ, КОТОРЫЙ ПРИНИМАЕТ СОБЫТИЯ В КАЧЕСТВЕ ТРИГГЕРА, И ПОСЫЛАЕТ СООТВЕТСТВУЮЩИЕ ШАГУ КОМАНДЫ.
(С ЛЮБЫМ КОЛИЧЕСТВОМ ШАГОВ) • В РАМКАХ ОДНОЙ САГИ МОЖЕТ ЗАПУСКАТЬСЯ НЕСКОЛЬКО ПАРАЛЛЕЛЬНЫХ • С ТОЧКИ ЗРЕНИЯ САГИ НЕ ВАЖНО КТО И КАК ВЫПОЛНИТ ПОСТАВЛЕННУЮ ЗАДАЧУ МИНУСЫ • ВОЗРАСТАЕТ СЛОЖНОСТЬ В ПОНИМАНИИ ПРОЦЕССА ЦЕЛИКОМ • НЕТ ИНСТРУМЕНТА ВИЗУАЛИЗАЦИИ ПРОЦЕССА • ПОВЫШЕННЫЕ ТРЕБОВАНИЯ К ДОКУМЕНТАЦИИ
МОДЕЛИ, ЧТО ПОЗВОЛЯЕТ РЕШИТЬ СЛЕДУЮЩИЕ ПРОБЛЕМЫ: • ПОИСК\ФИЛЬТРАЦИЯ • С ПОМОЩЬЮ СТОРОННИХ ХРАНИЛИЩ • ВОССТАНОВЛЕНИЕ СОСТОЯНИЯ АГРЕГАТА • С ПОМОЩЬЮ SNAPSHOT’ОВ
ДАННЫХ, ЧЕРЕЗ КАКОЙ-ТО ПРОМЕЖУТОК ВРЕМЕНИ ПОСЛЕ ПОСЛЕДНЕГО ОБНОВЛЕНИЯ («В КОНЕЧНОМ СЧЁТЕ») ВСЕ ЗАПРОСЫ БУДУТ ВОЗВРАЩАТЬ ПОСЛЕДНЕЕ ОБНОВЛЁННОЕ ЗНАЧЕНИЕ. ПРЕДСТАВЛЕНИЯ ГЕНЕРИРУЮТСЯ НА ОСНОВАНИИ КАКИХ-ЛИБО СТРАТЕГИЙ И НЕ ВСЕГДА ОТОБРАЖАЮТ ТЕКУЩЕЕ СОСТОЯНИЕ АГРЕГАТА.
• УТЕЧКИ ПАМЯТИ (БОЛЬШИНСТВО БИБЛИОТЕК НАПИСАНЫ В РАМКАХ «УМИРАЮЩЕЙ» МОДЕЛИ • ОТСУТСТВИЕ ВСТРОЕННОЙ ПОДДЕРЖКИ АСИНХРОННОСТИ • УСЛОЖНЯЕТСЯ ПРОФИЛИРОВАНИЕ И ОТЛАДКА