Size: a a a

2021 February 06

КГ

Константин Грачев... in symfony
Pavel Litovsky
Вроде же инкапсуляция? :)
В таком случае капсула у вас дырявая)
источник

PL

Pavel Litovsky in symfony
Вон и Википедия говорит что Инкапсуляция


Например, доступ к скрытой переменной может предоставляться не напрямую, а с помощью методов для чтения (геттер) и изменения (сеттер) её значения.
источник

ЕР

Евгений Ромашкан... in symfony
Pavel Litovsky
Вроде же инкапсуляция? :)
Нет, геттеры-сеттеры предполагают что логика снаружи. Инкапсуляции нет.
источник

SP

Sergey Protko in symfony
Maxim Vintov
Всем привет, коллеги.
Может кто подсказать, пожалуйста.
Геттеры и сеттеры в сущностях энтите, которые просто делают return свойсва, это инкапсуляция или сокрытие данных?
ни то ни другое.
источник

ЕР

Евгений Ромашкан... in symfony
Maxim Vintov
Всем привет, коллеги.
Может кто подсказать, пожалуйста.
Геттеры и сеттеры в сущностях энтите, которые просто делают return свойсва, это инкапсуляция или сокрытие данных?
Это бесполезный бойлерплейт.
Либо у тебя есть методы и логика в сущностях, и это будут не просто сеттеры и геттеры, либо у тебя логика вне сущностей и с таким же успехом можно оставить паблик поля
источник

SP

Sergey Protko in symfony
Евгений Ромашкан
Это бесполезный бойлерплейт.
Либо у тебя есть методы и логика в сущностях, и это будут не просто сеттеры и геттеры, либо у тебя логика вне сущностей и с таким же успехом можно оставить паблик поля
оч опасный момент - без пересмотра того как стэйт системы декомпозируется лучше пусть геттерами и сеттерами обмазывается. Ибо "сущности" и декомпозиция по сущностям в контексте "класть логику в них" быстро превращается в мессиво. Потому так много людей до сих пор пишут статьи в духе "это все нарушение SOLID" (потому что не разобрались)
источник

SP

Sergey Protko in symfony
сущности с геттерами и сеттерами проще немного резать
источник

SP

Sergey Protko in symfony
Ну либо избегать сущностей общего толка (продукты, заказы, карзина, юзеры, кастомеры...) - "большие" сущности.
источник

SP

Sergey Protko in symfony
лучше инвестировать время в дискавери воркфлоу и процессов через которые пользователи проходят, выделять там активити и на основе этого уже делать декомпозицию.
источник

SP

Sergey Protko in symfony
тогда можно делать и солиды и information hiding. а просто логику в сущности ничего не дает
источник

MV

Maxim Vintov in symfony
Всем спасибо зи информацию
источник

PL

Pavel Litovsky in symfony
спасибо - интересную тему подняли :)
источник

C

CvekCoder in symfony
Maxim Vintov
Всем привет, коллеги.
Может кто подсказать, пожалуйста.
Геттеры и сеттеры в сущностях энтите, которые просто делают return свойсва, это инкапсуляция или сокрытие данных?
Доктрина же не пользуется этими методами, да ещё и конструктор не трогает. Так что сеттерами и геттерами вы как минимум можете ограничить видимость объекта наружу и мутабельность его полей. А через конструктор можно соблюсти инварианты. Так что это точно лучше чем паблик свойства и какая-никакая инкапсуляция есть.
источник

SP

Sergey Protko in symfony
CvekCoder
Доктрина же не пользуется этими методами, да ещё и конструктор не трогает. Так что сеттерами и геттерами вы как минимум можете ограничить видимость объекта наружу и мутабельность его полей. А через конструктор можно соблюсти инварианты. Так что это точно лучше чем паблик свойства и какая-никакая инкапсуляция есть.
Никакая инкапсуляция
источник

КГ

Константин Грачев... in symfony
Sergey Protko
Никакая инкапсуляция
Если в капсуле то уже инкапсуляция. И не важно, что капсула дырявая
источник

КГ

Константин Грачев... in symfony
источник

ПГ

Павел Г. in symfony
Константин Грачев
Если в капсуле то уже инкапсуляция. И не важно, что капсула дырявая
Соглашусь. Инкапсуляция предполагает сокрытие реализации. А уж насколько, просто геттер аксесора или что то более сложное - наружа просто не знает, да и не важно ей это.
источник

ЕР

Евгений Ромашкан... in symfony
Павел Г.
Соглашусь. Инкапсуляция предполагает сокрытие реализации. А уж насколько, просто геттер аксесора или что то более сложное - наружа просто не знает, да и не важно ей это.
Отвечать на троллинг спустя 3 часа?
источник

ПГ

Павел Г. in symfony
Евгений Ромашкан
Отвечать на троллинг спустя 3 часа?
Ок, бывает.
источник

ПГ

Павел Г. in symfony
Наверное не понял, что это троллинг. Но внешняя система не знает, получает она чистый аксесор или какую либо реализацию. Имхо - инкапсуляция, в этом и смысл - что наружа не знает, что внутри. В практике безсмысленно выходит, что у нас сеттер и геттер прокинут на приватный аксесор. Но внешка не знает об этом.
источник