@jvmchat

Страница 1341 из 2890
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
Митко Соловец?
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
Valeriy
11.04.2017
09:07:47
инкапсуляция != сокрытие
ладно, меня попросили не набрасывать, я выхожу из дискуссии

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

*ломбок

крутая штука

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

Andrey
11.04.2017
09:12:31
если не нравится бойлерплэйт есть лобок
Если не нравится бордерплейт, то есть kotlin)

Митко Соловец?
11.04.2017
09:13:08
Если не нравится бордерплейт, то есть kotlin)
ну это прям совсем радикальный вариант

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

дверь сама себя не открывает )

Кирилл
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
Радикально - это c#)
го сишарп срач

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
Радикально - это c#)
не нужно, тут все натуралы

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
Если есть датчик, который дает команду двери открыться, то можно сказать что дверь сама все умеет )

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

Там есть функция опен\клоз

Google
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
Класс это подпрограмма, просто функция. И чтобы не копипастить, когда надо изменить где-то реализацию. То и придумали все это наследование, инкапсуляцию и полиморфизм. Чтобы можно было взять вон ту функцию, и адаптировать ее под нужные условия, минимальным изменением.

Кирилл
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
т.е. все на внутренних классах?

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

Andrey
11.04.2017
09:35:48

Страница 1341 из 2890