0
Розглядається

Ошибка в описании паттерна Легковес

Alexander P. 3 роки тому оновлено Alexander Shvets 3 роки тому 5

Цитата:
Неизменяемые данные объекта принято называть «внутренним состоянием». Все остальные данные — это «внешнее состояние».

Розглядається

Здравствуйте, Александр!

Простите, у меня, вероятно, замылился глаз. В чём конкретно заключается ошибка?

Больший фрагмент:
Неизменяемые
данные объекта принято называть «внутренним состоянием». Все остальные данные — это «внешнее состояние».

Паттерн Легковес предлагает не хранить в классе внешнее состояние, а передавать его в те или иные методы через параметры. Таким образом, одни и те же объекты можно будет повторно использовать в различных контекстах.


Правильный вариант:

Изменяемые данные объекта принято называть «внутренним состоянием». Все остальные данные — это «внешнее состояние».

Хм, почему вы думаете, что это ошибка?

Вчитался внимательнее, мне не нравится использование понятия неизменяемых данных и внутреннего состояния, если я правильно помню, у GoF этот паттерн описывается только через внешнее и внутреннее состояние (и контекст).
Пытаться определить неизменяемые данные через внутреннее состояние по моему мнению не совсем корректно. Ведь внутреннее состояние объекта - это совокупность его атрибутов; внутреннее состояние объекта может меняться, при вызове методов объекта.
В данном случае речь немного о другом, что и вызвало у меня путаницу.

При этом считаю описание паттерна в целом хорошим и понятным. Спасибо Вам за ресурс. =)

Спасибо за развёрнутый фидбек! Подумаю над этим.