🔥

Тред #5


Часто понятие акторы вызывает путаницу, они есть в политике, в UML и так далее(полный список можно найти на вики), но нас интересует акторная модель, которая говорит о том, что всё есть актор(знакомо, ага?)

У меня просто горел мех, и я решил попробовать подрубить akka к андроид, но конечно, же потерпел фиаско, потому что нет нужных классов и методов, для них нужно идти через скалу. Если у кого был успешный опыт, пожалуйста, напишите статью на хабре. akka.io

Ну штож, тяжелый день. Самое время похоливарить за архитектуру. Для себя я недавно открыл акторную модель в мобильных приложениях и был очень впечатлён тем, что нет ни одного нормального фреймворка на kotlin или Java.

Многие фреймворки объединяют акторы в системы, которые являются своеобразной шиной, через которые летят нужные сообщения к нужным акторам. Так же нет ограничений на то, будет ли поток сообщений асинхронным или синхронным, что тоже иногда добавляет геморроя

Если говорить о сути, то актор - это сущность, которая умеет получать сообщения, и обрабатывать их, а так же порождать новых акторов, отправлять другим акторам сообщения, и менять своё состояние. И всё это может происходить параллельно.

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

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

Сама модель ложится фактически на любую систему - межсетевые протоколы, устройства, серверные приложения и так далее. Но вот на мобилках с этим немного грустно. Что же даёт эта модель?

Если подвести краткий итог, то тут можно просто накидать ссылок. bit.ly/3eUUPxG bit.ly/3uvZb4X bit.ly/3utC9fd bit.ly/3et60i9