Erik Huizinga
1 min readOct 4, 2019

--

Did you notice your article describes the GoF State Pattern? When you used an enum class, you basically made a finite state machine. That is very powerful. In my projects I use enum class and sealed class (which is basically enum class on steroids) to model my view states, for example:

sealed class ViewState

data class OhNo(val cause: Throwable) : ViewState()

object Loading : ViewState()

data class Success(val data: MyDataType, val moreData: SomeOtherDataType) : ViewState()

It’s then very simple to set views in my Fragment / Activity based on when.

--

--

Responses (1)