Как стать автором
Обновить
13
Карма
0
Рейтинг

Пользователь

  • Подписчики 6
  • Подписки 7

Зачем (не)нужны геттеры?

ООП *
Прошлая статья про сеттеры/геттеры как способ работы с сущностью (на примере Symfony в PHP) получила бурное обсуждение. В данной статье попробую выразить свои мысли отдельно по поводу геттеров: зачем и когда что-то получать, какую ответственность они решают и когда их уместно использовать, когда не уместно. Постарался собрать мысли в одном месте и формализовать их вместе с вами.

image
Изображение из блога Фаулера: TellDontAsk

Читать дальше →
Всего голосов 38: ↑27 и ↓11 +16
Просмотры 19K
Комментарии 367

Геттеры/сеттеры и проблема с инкапсуляцией в Symfony проектах

PHP *Symfony *
Сравнительно недавно работаю с Symfony (чуть более года) и во всех проектах, что довелось поработать — сущности всегда создавались таким образом, что они содержали только приватные поля и голые сеттеры/геттеры к ним.

В статьи будут рассуждения и примеры, почему такой подход опасный, а именно: нарушает нашу старую добрую инкапсуляцию, провоцирует писать код с багами и повышать сложность системы.
В статье будет опущена тема сеттеров в разного рода билдерах и тема инъекции зависимостей через сеттеры (скажу только, что не одобряем). Не будет ничего про сложные темы вроде DDD, Rich Model, про coupling/cohesion и другие умные слова — просто поговорим про инкапсуляцию. Добро пожаловать под кат.
Читать дальше →
Всего голосов 35: ↑31 и ↓4 +27
Просмотры 14K
Комментарии 238

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность