Информация об изменениях

Сообщение Re[3]: ООП и ветер от 09.10.2023 9:16

Изменено 09.10.2023 9:24 Pauel

Re[3]: ООП и ветер
Здравствуйте, Нomunculus, Вы писали:

Н>Вопрос в том кто про что должен знать. Расчеты трепыхания тряпки должны быть внутри тряпки? Но тогда тряпка должна знать о внешнем мире. И это криво


Это зависит от вашего решения. На самом деле важно решение с минимальной сложностью и высокой maintainability.

Простые вычисления ветра и никто кроме тряпки с ветром не взаимодействует — суньте в тряпку.
Появятся еще объекты, которые гнутся под ветром — добавьте класс ветер.
Вычисления сложные, типа дифуры, новье-стокса — выделите класс WindCalculator, а тряпка и ветер будут просто набор капабилитей.

Важно, что у вас пока нет решение, а вы уже инкапсулизмом занимаетесь
Re[3]: ООП и ветер
Здравствуйте, Нomunculus, Вы писали:

Н>Вопрос в том кто про что должен знать. Расчеты трепыхания тряпки должны быть внутри тряпки? Но тогда тряпка должна знать о внешнем мире. И это криво


Это зависит от вашего решения. На самом деле важно решение с минимальной сложностью и высокой maintainability.

Простые вычисления ветра и никто кроме тряпки с ветром не взаимодействует — суньте в тряпку.
Появятся еще объекты, которые гнутся под ветром — добавьте класс ветер.
Вычисления сложные, типа дифуры, новье-стокса — выделите класс WindCalculator, а тряпка и ветер будут просто набор капабилитей.
Можно даже сделать тряпку тряпкой, и не хранить в ней никаких точек, пусть отрисовывается полу-рандомный трепыхающийся объект. Тоже как вариант.

Важно, что у вас пока нет решения, а вы уже инкапсулизмом занимаетесь

Место ООП — перевод готового решения в код и управление сложностью итогового кода.