@proGO

Страница 1402 из 1674
Daniel
27.04.2018
07:56:20
я все утро краем глаза это наблюдаю

Dmitri
27.04.2018
07:56:28
ReadApple() *Apple {} ReadApples() []*Apple {}

во, товарищ Подольский подтянулся

Daniel
27.04.2018
07:56:45
и ощущения, что что-то не понятно, или что-то не получается, нет

Google
Dmitri
27.04.2018
07:56:51
он, например, знает, чем DAO от репозитория отличается

Daniel
27.04.2018
07:56:59
а есть ощущение неизбывной боли

Dmitri
27.04.2018
07:57:35
а есть ощущение неизбывной боли
в каком месте и от чего?

Александр
27.04.2018
07:57:53
на самом деле мне сложно переучиваться

в пыхе у нас было все в повалку

Daniel
27.04.2018
07:58:40
в каком месте и от чего?
от того, что у @ruelephant не получается делать, как он привык

Александр
27.04.2018
07:58:50
$users = UserModel::find(['age'=>21]) foreach($user ...) { $user->sex = UserModel::Male $user->save(); }

Daniel
27.04.2018
07:59:06
Kirill
27.04.2018
07:59:57
я не знаю)

я думал дао это тупо обхект с полями и геттерами сеттерами

без логики

Dmitri
27.04.2018
08:00:39
а что, кто-то не знает?
они, например, местами очень похожи. Собственно, до взаимопроникновения. И определить, где в конкретной реализации DAO, а где уже репозиторий для меня, например, бывает сложно.

Александр
27.04.2018
08:02:52
тут конечно не для гоу - https://habr.com/post/263033/

Google
Daniel
27.04.2018
08:03:24
и это довольно мутная статья

но, вообще, граница там смутная

Александр
27.04.2018
08:03:43
ну насколько я понял

разница в том что репозиторий работает с коллекциями

Dmitri
27.04.2018
08:03:58
а что, кто-то не знает?
насколько мне представляется, репозиторий - это реализация "коллекции" поверх слоя "физических данных", а DAO - это реализация набора интерфейсов/методов для доступа к "физическим данным"

Александр
27.04.2018
08:04:01
а DAO работает с параметрами

Daniel
27.04.2018
08:04:16
репозиторий ближе к базе, dao ближе к бизнес-логике

Kirill
27.04.2018
08:04:37
для го дао походу больше заказтывает

Александр
27.04.2018
08:04:42
void delete(String userName);// DAO void removeAccount(Account account); // Репозиторий

Kirill
27.04.2018
08:04:47
в го с коллекциями не оч хорошо

Dmitri
27.04.2018
08:04:56
и вот если этот DAO реализует интерфейс доступа, похожий на набор методов работы с коллекцией, становится малопонятно, где кто

Daniel
27.04.2018
08:05:08
угу

но и пофиг же

Dmitri
27.04.2018
08:05:42
собственно, примерно да, примерно пофиг. Тут уже больше вопрос "технического пуризма"

те же "паттерны" (в переводе - шаблоны), это набор рекомендаций/устоявшихся практик

т.е. "советы бывалых, которые на ЭТИ грабли уже наступили"

Daniel
27.04.2018
08:07:07
и смысл тут только в том, чтобы сделать одинаково по всему проекту

Dmitri
27.04.2018
08:07:11
в момент реализации совершенно не обязательно знать, под какую главу "Воспоминаний бывалых" подпадает то, что ты делаешь.

Александр
27.04.2018
08:07:30
если потом другим конечно с этим не работать...

иначе код превращается в адЪ

Google
Dmitri
27.04.2018
08:07:39
но бывает приятно сказать "да ты гонишь, никакой это не DAO, это же репозиторий"!)))

а дальше попросят обосновать...

а дальше начнутся сложности)))

Александр
27.04.2018
08:09:31
http://codehelper.ru/questions/205/new/repository-%D0%B8-dao-%D0%BE%D1%82%D0%BB%D0%B8%D1%87%D0%B8%D1%8F-%D0%BF%D1%80%D0%B5%D0%B8%D0%BC%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0-%D0%BD%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8

http://qaru.site/questions/7209/what-is-the-difference-between-dao-and-repository-patterns

ну пару ссылок

Mykyta
27.04.2018
08:12:18
ну насколько я понял
Гораздо проще все. Условно у тебя есть type Entity struct. При подходе Repository, у тебя будет EntityRepository, в котором будут методы Save(Entity), GetAll() []Entity, При подходе DAO, у структуры Entity будут методы Save(), All()

Александр
27.04.2018
08:13:03
с вашего объяснения можно подумать что разница только в именовании методов :)

Dmitri
27.04.2018
08:13:51
не, он намекает на то, что DAO прикручивается к бизнес-сущности, а репозиторий - отдельная сущность сбоку

Mykyta
27.04.2018
08:14:14
с вашего объяснения можно подумать что разница только в именовании методов :)
entity := Entity{Field1, FIeld2} entity.Save() И entity := Entity{FIeld1, FIeld2} entityRepository.Save(entity) Ну совсем уже на пальцах

Dmitri
27.04.2018
08:14:37
даже если методы будут называться одинаково, разница в том, у кого они будут

Александр
27.04.2018
08:17:04
насколько я понял у @CheshireKot объяснение ближе к репозиторию таки

Dmitri
27.04.2018
08:17:10
только я не уверен, что тов. Никитенко прям стопроцентно прав

Александр
27.04.2018
08:17:12
ну то что выше мы проговаривали

если оталкивался от рассуждений @mykytanikitenko

если конечно он не имел ввиду EntityDAO сущность, а не оригинальную модель

Dmitri
27.04.2018
08:18:54
собственно, не вижу препятствий реализации DAO в виде отдельной сущности.

Mykyta
27.04.2018
08:20:21
DTO для го не подхоодит На дотнете, например, мы определяем класс с виртуальными полями. Даже фреймворк, например, EF, создает через рефлексию в рантайме новый объект-прокси, который наследует от оригинального класса и икапсулирует доступ ко всем этим полям, очень много магии происходит. В го такое почти нереально сделать

Dmitri
27.04.2018
08:20:25
просто применительно к Go идея прикрутить DAO к самой сущности достаточно мутная

Google
Dmitri
27.04.2018
08:21:31
собственно, я бы скорее склонялся в сторону type CRUDer interface{ Create() Read() Update() Delete() }

и рядом обертки над типом сущности

т.е. Entity отдельно, EntityDAO отдельно

Mykyta
27.04.2018
08:22:17
Dmitri
27.04.2018
08:23:22
другое дело, что EntityDAO вполне может выглядеть как type EntityDAO struct { Entity } или даже type EntityDAO Entity

Dmitri
27.04.2018
08:24:12
Называется Generic Repository, это плохой паттерн :)
собственно, в Go есть таки специфика, которая достаточно существенно может отличать его от полно-классических-ООП-языков, для которых эти самые паттерны и рожали

Ага, туда еще подключение к бд передай
собственно, достаточно спорное предложение. sql.DB, емнип, вполне себе пул, и оно при констракте вполне может подтянуться само, например

дело в том, что система типов Go - достаточно простая, до примитивности, вещь

и многие идеи, которые отлично ложатся на логику Java и прочих "Скал", в чистом виде в Go приводят к форменному бреду

Admin
ERROR: S client not available

Mykyta
27.04.2018
08:26:16
собственно, достаточно спорное предложение. sql.DB, емнип, вполне себе пул, и оно при констракте вполне может подтянуться само, например
В го нет конструкторов, если не использовать DI контейнер, то непонятно откуда оно само подтянется

Oknesta
27.04.2018
08:26:21
привет

Oknesta
27.04.2018
08:26:34
delve не могу установить в vs code

помогите

какой то жесть

mac

Morran
27.04.2018
08:27:10
помогите
могу только помолиться за тебя

Dmitri
27.04.2018
08:27:11
если мы имеем type Entity struct, определяя идею DAO как "прикрутить методы CRUD к самой сущности" мы сразу хороним сам подход для Go

Google
Dmitri
27.04.2018
08:27:32
само, это как?
например, взяться откуда-то синглтоноподобного

Kirill
27.04.2018
08:27:40
чего?
инфы ему дай

как он узнает в чем проблема у тебя если он ничего не знает о твоей проблеме

Oknesta
27.04.2018
08:28:28
ну вы в vc code дебажите?

Kirill
27.04.2018
08:28:45
я нет

Александр
27.04.2018
08:28:51
нет

Kirill
27.04.2018
08:28:51
я в goland

там все из коробки работает

теперь еще и dep

Александр
27.04.2018
08:29:11
ну вы в vc code дебажите?
это секта свидетелей goland

Dmitri
27.04.2018
08:29:29
В го нет конструкторов, если не использовать DI контейнер, то непонятно откуда оно само подтянется
ага, в Го нет конструкторов. При этом в нем нету еще классического "наследования", в нем запрещены кросс-импорты, в нем нет дженериков, собственно, в нем и синглтон - вполне нормальная штука, хотя в той же Java его с песнями и плясками как говно-паттерн хоронят уже лет 5

Oknesta
27.04.2018
08:29:39
так я тоже хочу)

тока там триал версия

=((

ща качну

Dmitri
27.04.2018
08:29:54
так я тоже хочу)
jetbrains.com - там goland есть

Oknesta
27.04.2018
08:30:00
уже качаю

Александр
27.04.2018
08:30:27
тока там триал версия
там есть помесячная подписка, не дорого

Oknesta
27.04.2018
08:30:40
пока мне он денег не приносит не могу платить(

вот xcode фри я бы за него платил по месячно

Страница 1402 из 1674