#android
Попался любопытный пример работы со строками в Android.
Дело в том, что при использовании строк в больших проектах может возникнуть архитектурная проблема с доступом к
Context и получению строк с его использованием.Автор предлагает использовать sealed-класс для обработки подобных кейсов.
sealed class TextResource {
companion object {
fun fromText(text : String) : TextResource = SimpleTextResource(text)
fun fromStringId(@StringRes id : Int) : TextResource = IdTextResource(id)
fun fromPlural(@PluralRes id: Int, pluralValue : Int) : TextResource = PluralTextResource(id, pluralValue)
}
}Его просто применять на любых уровнях абстракции. Подробнее в этой статье.