Size: a a a

2021 February 06

SP

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

ПГ

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

ПГ

Павел Г. in symfony
Мы скрываем логику получения данных, а уж на сколько и где течёт логика - это, имхо, другой вопрос
источник

ПГ

Павел Г. in symfony
Ну или реализации данных, не только получения
источник

C

CvekCoder in symfony
Сегодня этот геттер просто отдает приватное свойство, а завтра там будет сложная логика - внешним системам всё равно. Это и есть инкапсуляция, все верно
источник

ПГ

Павел Г. in symfony
CvekCoder
Сегодня этот геттер просто отдает приватное свойство, а завтра там будет сложная логика - внешним системам всё равно. Это и есть инкапсуляция, все верно
Да, плюсую, я про это же
источник

C

CvekCoder in symfony
> Если ты используешь эти данные потом для принятия решений ты нарушаешь инкапсуляцию
Контракт есть - это главное. А кто и для чего потом эти данные получает - дело второе, там всяко бывает.
источник

SP

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

SP

Sergey Protko in symfony
Павел Г.
Мы скрываем логику получения данных, а уж на сколько и где течёт логика - это, имхо, другой вопрос
Мы скрываем логику, а не "логику получения данных". Большая разница
источник

SP

Sergey Protko in symfony
CvekCoder
> Если ты используешь эти данные потом для принятия решений ты нарушаешь инкапсуляцию
Контракт есть - это главное. А кто и для чего потом эти данные получает - дело второе, там всяко бывает.
Вот потому лапшу и делают
источник

ПГ

Павел Г. in symfony
Sergey Protko
Мы скрываем логику, а не "логику получения данных". Большая разница
Да логику. Но откуда внешняя система может знать, что за контрактом? Просто аксесор или логика?
источник

ПГ

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

SP

Sergey Protko in symfony
Павел Г.
Да логику. Но откуда внешняя система может знать, что за контрактом? Просто аксесор или логика?
По тому как она контракт юзает. Выражаться будет в более высокой связанности
источник

SP

Sergey Protko in symfony
Все эти вещи они не односторонние
источник

A

Arky in symfony
Принимаем решения в сущностях, решение нескольких сущностей в сервисах. профит)0
источник

SP

Sergey Protko in symfony
И вообще с такими формулировками проще игнорировать инкапсуляцию ибо не приносит никакой пользы
источник

ПГ

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

SP

Sergey Protko in symfony
Павел Г.
Да, связаность повысится если выносить больше и больше логики наружу. Но в термине инкапсуляции вроде нет про связаность ничего. Мы можем инкапсулировать больше логики, можем меньше - но это скорее вопрос архитекторы, чем термина инкапсуляция.
Ну тоесть инкапсуляция есть (разделение на приватное и публичное) и просто херовые контракты
источник

ПГ

Павел Г. in symfony
Sergey Protko
Ну тоесть инкапсуляция есть (разделение на приватное и публичное) и просто херовые контракты
Ну да. Соль именно контракты, а что за ними и на сколько они качественные - не важно, это другой вопрос
источник

SP

Sergey Protko in symfony
Павел Г.
Ну да. Соль именно контракты, а что за ними и на сколько они качественные - не важно, это другой вопрос
эт как раз важно ибо контракты у тебя будут в любом случае
источник