Я читаю книгу "Чистый код" и борюсь с концепцией. При обсуждении объектов и структур данных он утверждает следующее:
- Объекты скрывают свои данные за абстракциями и раскрывают функции, которые работают с этими данными.
- Структуры данных раскрывают свои данные и не имеют значимых функций.
Итак, что я получаю от этого, так это то, что у меня не должно быть никаких публичных свойств для моего объекта, у меня должны быть только методы, которые выполняют операции над свойствами. Если мне нужно получить доступ к свойствам, они должны быть в структуре данных, которые могут быть возвращены из метода на моем объекте? При таком подходе мне кажется, что мне нужен метод GetHeight() и SetHeight() для моего свойства Height на моем объекте, а не просто использование get и set свойства.
Возможно, я не понимаю, что именно предлагается, но это мое понимание "Объекты скрывают свои данные". Если бы вы могли помочь мне понять это, я бы очень признателен!
Спасибо заранее!