
Anton
11.04.2017
08:57:45
ну да
поэтому и 31

Alexander
11.04.2017
09:00:23
За хешкоды и иквалсы это к Михальче https://vladmihalcea.com/2016/10/20/the-best-way-to-implement-equals-hashcode-and-tostring-with-jpa-and-hibernate/ , например

Кирилл
11.04.2017
09:03:35
Откуда геттеры?
В смысле? Я еще понимаю отсутсвие сеттеров, чтобы объект был имутабельным. Но без гетеров, как с объектом то работать?

Google

Valeriy
11.04.2017
09:04:15

Митко Соловец?
11.04.2017
09:04:26

Valeriy
11.04.2017
09:04:40
злой ты

Кирилл
11.04.2017
09:04:56

Митко Соловец?
11.04.2017
09:05:02
по-другому никак, если тысяча человек начнет втягиваться, говно получиться

Евгений
11.04.2017
09:05:26
все паблик, все

Кирилл
11.04.2017
09:05:29
Ох ты ж, блин. Тогда JS получится.

Valeriy
11.04.2017
09:05:44
а какая разница между гетером и пабликом?

Евгений
11.04.2017
09:05:44
зато труъ

Кирилл
11.04.2017
09:06:12
А в жиесе для чего то запилили тайпскрипт с приватными полями.

Valeriy
11.04.2017
09:06:21
а на деле никакой
ты и так и так свою инкапсуляцию ломаешь

Google

Кирилл
11.04.2017
09:06:21
Наверно не понимают они чего-то

Valeriy
11.04.2017
09:06:33
не для геттеров уж точно

Евгений
11.04.2017
09:06:42

Dima
11.04.2017
09:07:16

Valeriy
11.04.2017
09:07:47

Andrey
11.04.2017
09:11:46

Митко Соловец?
11.04.2017
09:11:55
если не нравится бойлерплэйт есть лобок
*ломбок
крутая штука

Anvar
11.04.2017
09:12:28
По фрейду оговорка?

Andrey
11.04.2017
09:12:31

Митко Соловец?
11.04.2017
09:13:08

Artem
11.04.2017
09:13:32
ну да объект должен сам все делал ) не всегда
дверь сама себя не открывает )

Andrey
11.04.2017
09:13:42

Кирилл
11.04.2017
09:13:56
когда закрыта

Andrey
11.04.2017
09:13:58
Или в 18 веке живёшь)

Artem
11.04.2017
09:15:09

Google

Del
11.04.2017
09:15:35

Andrey
11.04.2017
09:15:45

Valeriy
11.04.2017
09:16:20
Объект сам должен всё делать.
+
Ну, то есть если уж тебе нужны DTO, то и хрен с ним, пользуйся гетерами, сетерами.
Но в бизнес логике это признак текущей абстракции
передай человеку дверь и он ее откроет, уф
не вещь в себе пишешь

Artem
11.04.2017
09:17:50

Andrey
11.04.2017
09:17:51

Valeriy
11.04.2017
09:18:12
разумные люди тут, чего

Andrey
11.04.2017
09:18:29
да
А не откроет сам дверь.

Митко Соловец?
11.04.2017
09:18:40

Valeriy
11.04.2017
09:20:00
А не откроет сам дверь.
ну, да, он не будет делать door.setOpen(true), он сделает door.open()
я об этом и говорю, дверь сама себя не открывает, ей не нужно, но команду на открытие выполнять умеет

Artem
11.04.2017
09:21:41
ну тут с оговоркой ) что дверь все равно себя не открывает даже по команде )
ну мы сейчас про простую дверь из дерева )
все таки это человек умеет открывать дверь, а не дверь умеет открываться по команде

Кирилл
11.04.2017
09:23:02
Смотря что считать дверью, если дверь это кусок доски, который преграждает проход, то да дверь ничего не умеет.

Artem
11.04.2017
09:23:13
Если есть датчик, который дает команду двери открыться, то можно сказать что дверь сама все умеет )

Andrey
11.04.2017
09:23:13

Кирилл
11.04.2017
09:23:29
А если дверь это доска на петлях в дверной коробке. То уже другое дело.
Там есть функция опен\клоз

Google

Кирилл
11.04.2017
09:24:11

Andrey
11.04.2017
09:24:28

Митко Соловец?
11.04.2017
09:24:36
просто можно по-разному интерпретировать

Кирилл
11.04.2017
09:25:11
И вообще все это херово делать параллели в ООП из реальной жизни.

Alexander
11.04.2017
09:25:30
Коллеги, мЫслите ширше: нет задачи открывать/закрывать дверь, есть задача попадать из одного помещения в другое, сл-но, нужна более высокоуровневая абстракция, а дверь — это узкий частный случай!

Vitaliy
11.04.2017
09:25:51
Дверь может быть и телепортом
И черной дырой
И вообще гиперпространственным туннелем
Или синей телефонной будкой :)

Andrey
11.04.2017
09:26:28
Понятно, я пошёл погуляю. Пока всем!)

Admin
ERROR: S client not available

Кирилл
11.04.2017
09:26:38
Класс это подпрограмма, просто функция. И чтобы не копипастить, когда надо изменить где-то реализацию. То и придумали все это наследование, инкапсуляцию и полиморфизм. Чтобы можно было взять вон ту функцию, и адаптировать ее под нужные условия, минимальным изменением.

Valeriy
11.04.2017
09:27:00

Кирилл
11.04.2017
09:27:19
А все эти абстрации про дверь нужны в ГейДеве чтоб движки пилить.

Andrey
11.04.2017
09:28:12
А разве не так?
Так. Просто лучше всего проектировать классы так, чтобы они не могли меняться снаружи, только изнутри с помощью различных команд. Я про это говорю. Извини, если ты говоришь о том же.

Митко Соловец?
11.04.2017
09:28:58
с чего ты это взял?

Andrey
11.04.2017
09:30:43

Митко Соловец?
11.04.2017
09:30:56
сейчас наоборот самый популярный способ проектирования декомпозировать классы так, чтобы каждый определенную функцию выполнял, есть модель, есть класс, который достаёт данные и маппит их на эту модель, есть класс который производит бизнес-логику над этим классом и т.д.

Google

Andrey
11.04.2017
09:31:17

Митко Соловец?
11.04.2017
09:31:29
и много у тебя его? и проектов? поделишься?
именно в джава бэкенд проектах

Andrey
11.04.2017
09:32:00

Митко Соловец?
11.04.2017
09:32:36
вопрос, как мне тестировать классы такие?
хочу протестировать методы, мок делать или стабу на весь класс?
как бороться с большим кол-вом кода, которое неприменно там образуется?

Andrey
11.04.2017
09:33:26

Митко Соловец?
11.04.2017
09:33:39
ну ты говоришь, что у тебя класс все внутри должен содержать
просто пример, у тебя и модель и доставание из базы и бинес-логика и контроллеры - все внутри
вперед епт
тестируй

Andrey
11.04.2017
09:34:17

Митко Соловец?
11.04.2017
09:34:34
Так. Просто лучше всего проектировать классы так, чтобы они не могли меняться снаружи, только изнутри с помощью различных команд. Я про это говорю. Извини, если ты говоришь о том же.

Ivan
11.04.2017
09:34:47
если хочешь внешний класс тестировать у тебя есть вход/выход тестируй

Andrey
11.04.2017
09:35:08
Берёшь и строишь матрёшку и всё у тебя замечательно.

Митко Соловец?
11.04.2017
09:35:32
т.е. все на внутренних классах?

Andrey
11.04.2017
09:35:41

Митко Соловец?
11.04.2017
09:35:42
тогда будет каша

Andrey
11.04.2017
09:35:48