Комментарии 3
Класс, предоставляющий доступ к закрытым данным родительского класса - паттерн "Паблик Морозов"
Думаю все, кто изучал Java, знают, что можно сделать так (в Kotlin такой возможности нет):
Не совсем так. Можно
abstract class Property<T>(value: T) {
open var value: T = value
protected set
}
class MutableProperty<T>(value: T) : Property<T>(value) {
override var value: T
get() = super.value
set(value) { super.value = value }
}
Первое и последнее — это то, как делать вообщем-то не стоит)
Третье, четвертое и пятое - вроде вполне класический код, хотя продумать передачу вызова делегату на стадии проектирования было бы прямо вообще хорошо.
Про threadLocal действтиельно интересный инструмент
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Интересные приёмы, взятые из исходников Android