Size: a a a

Android Architecture

2020 April 25

AD

Aleksey D. in Android Architecture
Konstantin Dovnar
И диффы — как раз об этом.
Каждый дифф — это какое-то изменение состояния.
Т.е. по факту, у тебя будет полноценная карта того, как и почему пользователь попал в свой стейт.
но мне это не нужно) мне нужно понять более точно текущее состояние - ждет ли он какого-то результата или, например, поставил себя на паузу

а здесь уже только «isPausedNow» канает
источник

KD

Konstantin Dovnar in Android Architecture
Aleksey D.
но мне это не нужно) мне нужно понять более точно текущее состояние - ждет ли он какого-то результата или, например, поставил себя на паузу

а здесь уже только «isPausedNow» канает
А что в текущем состоянии может быть не понятно? Кажется — ты придумал себе проблему.
источник

AD

Aleksey D. in Android Architecture
Konstantin Dovnar
А что в текущем состоянии может быть не понятно? Кажется — ты придумал себе проблему.
нет, я всего лишь спросил, как боросться с необзодимостью нескольких флажков в состоянии при обработке сообщения)
источник

(

( in Android Architecture
Aleksey D.
нет, я всего лишь спросил, как боросться с необзодимостью нескольких флажков в состоянии при обработке сообщения)
Если они связаны по смыслу и в некоторых случаях взаимоисключающи, силед класс
источник

KD

Konstantin Dovnar in Android Architecture
Aleksey D.
нет, я всего лишь спросил, как боросться с необзодимостью нескольких флажков в состоянии при обработке сообщения)
Это уже вопрос к тому, как ты спроектировал своё состояние.
Если у тебя там два флажка которые связаны и могут исключать друг друга — значит это должны быть не два флажка, а енам\силд.
источник

KD

Konstantin Dovnar in Android Architecture
(
Если они связаны по смыслу и в некоторых случаях взаимоисключающи, силед класс
Опередил:(
источник

AD

Aleksey D. in Android Architecture
вот стараюсь уходить на enum/sealed по возможности, но иногда спотыкаюсь и не получается 🤷 ладно, нужно больше спотыкаться, сяп
источник

(

( in Android Architecture
ну типа в котле это несколько сложнее проектировать, потому что нет завтипов
источник

(

( in Android Architecture
были бы завтипы - было бы легче строить плоские зависимости разных полей друг от друга и ограничивать возможные значения
источник

AD

Aleksey D. in Android Architecture
(
были бы завтипы - было бы легче строить плоские зависимости разных полей друг от друга и ограничивать возможные значения
ну тут уже сорри 🤷
источник

KD

Konstantin Dovnar in Android Architecture
(
были бы завтипы - было бы легче строить плоские зависимости разных полей друг от друга и ограничивать возможные значения
Что за завтипы?
источник

(

( in Android Architecture
Konstantin Dovnar
Что за завтипы?
Зависимые типы
источник

СГ

Сергей Греков in Android Architecture
Konstantin Dovnar
Стартовое состояние State(counter = 0)
и есть List<State.Diffs> в котором лежит какие-нибудь Add(3), Add(2)

Вот по списку ты и знаешь, что пользователь сначала добавил 3, а потом 2.
Первый раз вижу чтобы кто то хранил список дифов. Зачем?
источник

СГ

Сергей Греков in Android Architecture
Aleksey D.
нет, я всего лишь спросил, как боросться с необзодимостью нескольких флажков в состоянии при обработке сообщения)
Ну это вопрос того, насколько у тебя хорошо прокачан скилл по моделированию доменной области, к TEA это опосредованное отношение имеет
источник

KD

Konstantin Dovnar in Android Architecture
Сергей Греков
Первый раз вижу чтобы кто то хранил список дифов. Зачем?
Откуда ж мне знать. Но вот делают:)
источник

СГ

Сергей Греков in Android Architecture
Konstantin Dovnar
Откуда ж мне знать. Но вот делают:)
Кто?)
источник

KD

Konstantin Dovnar in Android Architecture
Где-то в https://t.me/pofftop было.
Но уже довольно давно (тем летом, если не ошибаюсь).
источник

AD

Aleksey D. in Android Architecture
Сергей Греков
Ну это вопрос того, насколько у тебя хорошо прокачан скилл по моделированию доменной области, к TEA это опосредованное отношение имеет
понял, понял, когда-нибудь и до этого доползу
источник

P

Paulik8 in Android Architecture
привет, работаю с Activity Transition API, и никак не могу поймать ON_FOOT или WALKING интент
Кто нибудь сталкивался с такой же проблемой?
источник

AD

Aleksey D. in Android Architecture
Сергей Греков
Ну это вопрос того, насколько у тебя хорошо прокачан скилл по моделированию доменной области, к TEA это опосредованное отношение имеет
но, кажется, что пока правильно иду:
есть обновляемое по таймеру состояние
пользователь может изменить флажок и тогда таймер будет накидывать время не в aCounterField, а в bCounterField
так же можно пойти в следующее состояние, но предварительно надо убедиться, что все изменения этого состояния отправлены на сервер (как раз что-то вроде дифа - снапшоты), а уже после переходить - для этого нужен еще флажок, по которому можно будет отправить пользователя на следующее состояние, если очередь отправки опустела 🌚

собственно, можно ActiveState и PausedState выделить явно, но в остальном без флажка никак 🙁
источник