
sergik
27.01.2017
15:29:22
когда твой репозиторий разрастётся до непотребных размеров ты сам это поймёшь и будешь искать более оптимальные решения

? Райзя ?
27.01.2017
15:30:29
действительно. Хотя хочется избежать рефакторинга архитектуры.

Gid
27.01.2017
15:30:44
ioc
1-1 репозитори паттерн

Google

Gid
27.01.2017
15:30:52
имхо бест практика

? Райзя ?
27.01.2017
15:31:03
1-1?

Gid
27.01.2017
15:31:11
1 сущность 1 репозиторий

? Райзя ?
27.01.2017
15:31:16
аа

Gid
27.01.2017
15:31:26
на иоке
автофак нинжект
только репозитории делай по потребности
не обязательно чтоб пустые были
очень удобно будет
я гарантирую это

sergik
27.01.2017
15:32:40

Gid
27.01.2017
15:32:56
с оверрайдом

Google

sergik
27.01.2017
15:33:11
а частные методы описывать в конкретных реализациях под конкретные сущности

anton
27.01.2017
15:33:11

Gid
27.01.2017
15:33:16
ну в общем это и есть вся суть
1 бейз репозитори с классикой, оверрайды по нужде
будет удобно и просто скаффолдить
хуйню написал
расширять

anton
27.01.2017
15:34:59
вот господа, скажите мне, кто из вас, после того как насоздавал репозиториев и кучу других абстракций типа юнит оф ворка, хоть раз в жизни менял EF на что-то другое или хотябы писал юнит тесты на эти репозитории с моками? :)

Gid
27.01.2017
15:35:00
вечер пятницы спасибо что живой
Не менял
Но, можно работать без репозиториев впринципе

sergik
27.01.2017
15:35:54

Gid
27.01.2017
15:36:03
Люблю еф
На бестпрактисах хорошая ормка

? Райзя ?
27.01.2017
15:36:15
was is dast EF?
ааа

Artem
27.01.2017
15:36:19

Gid
27.01.2017
15:36:24
В синергии с даппером на узких местах по пефомансу 10000/10

? Райзя ?
27.01.2017
15:36:25
Enitity Framework

Google

anton
27.01.2017
15:36:31
а нафига тогда поверх еф городить эти абстракции? (если у вас только еф и нет тестов)
датасет в еф == репозиторий
датаконтекст == уов

Gid
27.01.2017
15:36:47

anton
27.01.2017
15:36:57

Алексей
27.01.2017
15:37:25

? Райзя ?
27.01.2017
15:37:36

Алексей
27.01.2017
15:37:46
Контекст ef уже uow

sergik
27.01.2017
15:37:56
а не раскидана по коду как дурная

anton
27.01.2017
15:38:41
сейчас покурю и включусь в беседу обратно. холодно :)

Gid
27.01.2017
15:39:04
Вопрос
Зачем менять еф на что-то другое?
На чайник можно поменять

Gid
27.01.2017
15:39:28
Потому что чайник вроде классный говорят
https://github.com/docevaad/Chain
Но мне допустим доставляет еф кодфирст
Т.к его очень удобно использовать в связке
С микроормками которые по пефомансу делают еф

Алексей
27.01.2017
15:43:24
Ef очень монструозен и медленен, когда нужно тащить сущность с кучей инклудов, запросы становятся просто адовыми

Gid
27.01.2017
15:43:40
Микроормки очень быстрые в таких вот вопросах

Google

Gid
27.01.2017
15:44:02
А еф предоставляет хороший костяк

Алексей
27.01.2017
15:44:06
Там все в подзапросы оборачивается

Gid
27.01.2017
15:44:19
+
Даппер тот же пюр скл
пефоманс зависит от твоего скл скилла

sergik
27.01.2017
15:45:07

anton
27.01.2017
15:45:48

Алексей
27.01.2017
15:46:04
Очень нужно почти все) приходится делить на подзапросы и loadcollection

Admin
ERROR: S client not available

anton
27.01.2017
15:47:14
просто у многих миссюз всех этих паттернов (репозитория, уов) поверх еф
кто-то вообще не парится и из репозитория возвращает IQueryable
ну и нафиг оно надо тогда?

? Райзя ?
27.01.2017
15:48:00
кек

anton
27.01.2017
15:48:23
ради иока, что бы юнит тесты написать?
проще сделать аксептанс тест, он наверное будет более показателен
я не говорю что оно не нужно
просто зачастую обычно зачем то все всё усложняют

? Райзя ?
27.01.2017
15:52:46
чтобы соответствовать SOLID
ну именно заменямости фреймворка
мало ли что

Gid
27.01.2017
15:53:43
все знают солид
но инкто его не соблюдает
все знают о тестах

Google

Gid
27.01.2017
15:53:57
но их никто не пишет

? Райзя ?
27.01.2017
15:54:04
за тесты не плотят

Gid
27.01.2017
15:54:07
ebani pizdec vsratost

anton
27.01.2017
15:54:18
ну тогда в репозитории надо не поко классы совать, а бизнес объекты
а репозиторий уже знает как бизнес объекты раскидать в поко и заперсистить

? Райзя ?
27.01.2017
15:54:38
ага

anton
27.01.2017
15:54:50
а когда у тебя объект = поко энтитя, да еще с атрибутаим от еф - нахуй надо эти репозитории? :)

? Райзя ?
27.01.2017
15:55:16
мм clean code

anton
27.01.2017
15:58:04
а вот еще момент:
у вас во всех таблицах праймари ключем что будет? везде инт? везде гуид? или где-то инт, а где-то гуид?
а как в случае если где-то инт, где то гуид, вы хотите запилить дженерик репозиторий с всякими там генерик методами получения объекта из бд?

? Райзя ?
27.01.2017
15:58:50
+

Gid
27.01.2017
15:59:35
везде гуид
короче это спорный момент и зависит от апликухи

anton
27.01.2017
16:00:06
да, зависит от..
а еще момент про репозитории... :)
а что, если нужно вернуть объект лишь с 2-мя полями и не тащить 10 остальных полей?
.GetUserByIdWithoutExtraFields? :)

? Райзя ?
27.01.2017
16:02:19
а промизы в c# любите юзать?
(я просто вкатываюсь в с# из swift)

anton
27.01.2017
16:02:50

? Райзя ?
27.01.2017
16:02:57
айосник

anton
27.01.2017
16:02:59
в шарпе это таски
без тасков никак :)
Эта группа больше не существует