Плохая практика изменять объект напрямую? Плохо ли так делать?class Position { private x: number; private y: number; constructor(x: number, y: number) { this.to(x, y); } public to(x: number, y: number): void { this.x = x; this.y = y; } // ... } class Character { private name: string; private position: Position; constructor(name: string, position: Position) { this.name = name; this.position = position; } // ... } const p = new Position(0, 0); const character = new Character('Darth Vader', p); p.to(10, 10); Получается я меняю character без того чтобы что то с ним делать. Стоит ли так делать или же нет? Нарушает ли это какой нибудь принцип?

26 Июн 2021 в 20:07
406 +1
0
Ответы
1

Это плохая практика изменять объект напрямую, так как это может привести к неожиданным побочным эффектам и ошибкам в коде. В данном случае, изменение позиции объекта Position напрямую через метод to() без явного обновления объекта Character может привести к непредсказуемым результатам.

Чтобы избежать подобных проблем, рекомендуется создать и использовать методы в классе Character для управления связанными объектами (например, метод updatePosition()), чтобы изменения в одном объекте корректно отражались на другом.

Таким образом, следует избегать изменения связанных объектов напрямую и использовать методы и логику, предусмотренные в классе, для управления этими объектами.

17 Апр в 15:36
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 588 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир