Часто понятие акторы вызывает путаницу, они есть в политике, в UML и так далее(полный список можно найти на вики), но нас интересует акторная модель, которая говорит о том, что всё есть актор(знакомо, ага?)
У меня просто горел мех, и я решил попробовать подрубить akka к андроид, но конечно, же потерпел фиаско, потому что нет нужных классов и методов, для них нужно идти через скалу. Если у кого был успешный опыт, пожалуйста, напишите статью на хабре.
akka.io
Ну штож, тяжелый день.
Самое время похоливарить за архитектуру.
Для себя я недавно открыл акторную модель в мобильных приложениях и был очень впечатлён тем, что нет ни одного нормального фреймворка на kotlin или Java.
Многие фреймворки объединяют акторы в системы, которые являются своеобразной шиной, через которые летят нужные сообщения к нужным акторам. Так же нет ограничений на то, будет ли поток сообщений асинхронным или синхронным, что тоже иногда добавляет геморроя
Если говорить о сути, то актор - это сущность, которая умеет получать сообщения, и обрабатывать их, а так же порождать новых акторов, отправлять другим акторам сообщения, и менять своё состояние. И всё это может происходить параллельно.
Чтобы не возникало подобных ситуаций, для каждого логического набора акторов необходимо создавать подсистему, а так же стратегии обработки сообщений. Либо оперировать адресами акторов.
Конечно же, акторы напрямую связаны с реактивным программированием, по этому они классные
Прежде всего использование этой модели помогает обеспечить слабое зацепление модулей нашего приложения, но часто из-за наличия единого потока сообщения(что можно конечно легко исправить), мы получаем своеобразный EventBus.
Сама модель ложится фактически на любую систему - межсетевые протоколы, устройства, серверные приложения и так далее. Но вот на мобилках с этим немного грустно.
Что же даёт эта модель?
Если подвести краткий итог, то тут можно просто накидать ссылок.
bit.ly/3eUUPxG
bit.ly/3uvZb4X
bit.ly/3utC9fd
bit.ly/3et60i9