
Anton
15.03.2017
17:23:22
Тот факт, что в строку можно все что угодно сдампить - был известен задолго до Егора
Проблема с тем как потом вынуть что-то из этой строки

?
15.03.2017
17:23:34
https://www.youtube.com/watch?v=ByagQCx7m04

Anton
15.03.2017
17:23:51
Вот

Google

Anton
15.03.2017
17:23:58
Наконец мы добрались до сути
Это не нужно

Ivan
15.03.2017
17:24:31
я хз, мне кажется ты не понял о чем речь

Anton
15.03.2017
17:26:11
А о чем речь?
О том что инкапсуляция крутая штука в теории, но на практике "не нужна"?

Vitaly
15.03.2017
17:26:45
если пользователю этого метода нужно именно значение температуры, а не строка, он всё равно будет парсить её. при этом, если раньше там всегда приходил инт, он будет ожидать там инт, и когда мы начнем пистаь туда дабл, его код точно также может сломаться.
так что эта обертка ничем не поможет.

Anton
15.03.2017
17:27:30
я понял

Vitaly
15.03.2017
17:27:30
если мы вдруг решили, что температуру надо бы хранить в дабл, а не в инт - это плохое проектирование изначально.
типы тут сбоку приплетены

Anton
15.03.2017
17:27:37
все надо передавать через строки

Vitaly
15.03.2017
17:27:43
это был ответ Ивану

Anton
15.03.2017
17:29:37
Джаваскрипт сейчас переизобретем

Ivan
15.03.2017
17:29:45
вы не понимаете, речь о том что не нужно давать данные направо и налево только потому что кто-то хочет их использовать, объект должен самостоятельно решать как он эти данные будет выводить
например в контексте этой задачи нам нужно вывести данные в строку в таком то формате, так вот объект сам может это сделать и для этого у него есть метод toString
ни кто-то там сверху решает такс дай ка мне твое свойство я ща с ним что-то сделаю, а объект решает
в этом суть инкапсуляции

Google

Ivan
15.03.2017
17:30:22
если нужно было бы вывести данные в байтах объект сам бы их вывел в байтах а не отдавал бы сырое поле наверх

Vitaly
15.03.2017
17:30:45
так а что делать, если мы решим изменить формат? зависимый код все равно сломается

Ivan
15.03.2017
17:30:45
сверху могут только попросить а можешь вывести в таком виде и если объект может то выведет а если нет то идите нафиг
в таком случае можно расширить сам объект

Anton
15.03.2017
17:31:06
и кому нужен объект который всех посылает нафиг?

Ivan
15.03.2017
17:31:08
и код сверху не сломается
а кому нужен объект который всем дает?

Anton
15.03.2017
17:31:26
мне
пожалуйста
просто отдайте данные
и еще миллионам программистов

Ivan
15.03.2017
17:32:05
я могу усложнить задачу и привести пример когда это приведет к неработающей программе

Anton
15.03.2017
17:32:05
которые матом матерятся на эти ваши обертки над интами
давай

Vyatcheslav
15.03.2017
17:33:05
ну возьмем например матрицы. Внутри они юзают массивы, а массивы решают не отдавать данные… упс :)

Ivan
15.03.2017
17:33:06
если там будет List<> который отдадут наверх с помощью геттера и кто-нибудь сверху этот лист изменит

Anton
15.03.2017
17:33:20
это уже из другой области
отдавай копию

Ivan
15.03.2017
17:33:27
почему?

Google

Ivan
15.03.2017
17:33:30
не понимаю
почему из другой области
тоже самое
типы
List это же тип?
LocalDate в JodaTime тип?

Anton
15.03.2017
17:34:03
ты путаешь инкапсуляцию и мутабельность
Отдавай копию листа

Ivan
15.03.2017
17:34:21
ээээ че? геттер это и есть нарушение инкапсуляции

Anton
15.03.2017
17:34:22
и ничего не изменится

Ivan
15.03.2017
17:34:29
а я не хочу копию отдавать
я же открыт для всех

Ivan
15.03.2017
17:34:35
всем даю

Anton
15.03.2017
17:34:43
ну
отдавай всем копии
иммутабельность
пожалуйста

Ivan
15.03.2017
17:34:57
это же ухудшит перформанс

Anton
15.03.2017
17:34:59
делись данными

Ivan
15.03.2017
17:35:02
я не хочу ухудшения перформанса

Google

Ivan
15.03.2017
17:35:06
я юзаю int и не делаю копий

Anton
15.03.2017
17:35:15
о-о
вот это залет был
int копируется

Ivan
15.03.2017
17:35:49
о другом речь я юзаю int и list
ссылка на лист тоже копируется
а сам объект я не хочу копировать

Anton
15.03.2017
17:36:03
вместо инта лист?

Ivan
15.03.2017
17:36:06
потому что это увеличит нагрузку на память

Admin
ERROR: S client not available

Anton
15.03.2017
17:36:18
Ну shallow copy есть

Ivan
15.03.2017
17:36:33
еще раз говорю я не хочу отдавать копию листа наверх а хочу отдавтаь сам лист
как это делает JPA

Anton
15.03.2017
17:36:41
отдавай сам лист

Ivan
15.03.2017
17:36:41
в чем проблема?

Anton
15.03.2017
17:38:33
https://google.github.io/guava/releases/snapshot/api/docs/com/google/common/collect/ImmutableList.html

Ivan
15.03.2017
17:38:43
эх ща бы еще либу стороннюю тащить
когда есть Collections.unmodifiableList

guga
15.03.2017
17:40:05

Alexander
15.03.2017
17:40:37
of(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8, E e9, E e10, E e11)
каеф

Google

guga
15.03.2017
17:40:56
of(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8, E e9, E e10, E e11)
каеф
Нормально же

Alexander
15.03.2017
18:02:54
В тестах вообще отлично
Вместе с гуавой
Если вы еще не используете спок, конечно

guga
15.03.2017
18:19:24

Alexander
15.03.2017
18:46:14
Груви - это радость

Sergey
15.03.2017
18:47:26
день сурка

guga
15.03.2017
18:49:13
Снова

Sergey
15.03.2017
18:49:27

Alexander
15.03.2017
18:49:30
Решение неочевидных проблем в груви неплохо поднимает чсв

Sergey
15.03.2017
18:49:49
решение надуманных проблем?

Alexander
15.03.2017
18:49:53

Sergey
15.03.2017
18:50:12
да не, в скала чате почище будет чем тут)
реальные которые язык создает?

Alexander
15.03.2017
18:50:55
В меньшей степени язык
В большей недопонимание между разрабом и языком/рантаймом

Anton
15.03.2017
18:51:26
Проблемы создают пользователи языка, причем в больших количествах и с удовольствием. Java в этом плане чемпион.

Alexander
15.03.2017
18:51:52
Какие в джаве проблемы?

Anton
15.03.2017
18:51:52
Например обмазать все ООП а потом лечить последствия паттернами