Привет, ребята,
У меня нет проблем, мне просто интересно, как лучше всего реализовать isSomthing
в OOP парадигме?
Возьмите этот пример: мы хотим знать, был ли пользователь временно (например, 10 минут) забанен. Вот два варианта:
- Реализация метода
isTempBanned()
в классе User
. Затем, когда мы хотим проверить, забанен ли пользователь, мы просто вызываем этот метод. никаких изменений в других частях кода не требуется.
Добавление свойства isTempBanned в класс User. Затем, когда состояние бана пользователя меняется, мы соответствующим образом обновляем это свойство. Тогда, когда нам нужно знать, мы просто используем это свойство.
Можете ли вы объяснить плюсы и минусы каждого способа? с этих точек зрения:
- производительность
- обслуживание кода
- чистый код
- удобочитаемость
- и * c ...
Имейте в виду, что лучшего способа не существует. Я просто спрашиваю, когда мне следует использовать первый метод, а когда - второй.