@CSharpChatЭта группа больше не существует

Страница 273 из 1888
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
1 сущность 1 репозиторий
тогда проще иметь базовый репозиторий с базовыми методами типа Find, GetAll и прочее

Google
sergik
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:36:03
Люблю еф

На бестпрактисах хорошая ормка

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

ааа

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
а нафига тогда поверх еф городить эти абстракции? (если у вас только еф и нет тестов) датасет в еф == репозиторий датаконтекст == уов

anton
27.01.2017
15:36:57
Удобства ради
сомнительное удобство, хуячить бойлерплейт

? Райзя ?
27.01.2017
15:37:36
Алексей
27.01.2017
15:37:46
Контекст ef уже uow

sergik
27.01.2017
15:37:56
а нафига тогда поверх еф городить эти абстракции? (если у вас только еф и нет тестов) датасет в еф == репозиторий датаконтекст == уов
у меня, конечно, не было кейсов уровня "поменяй ef на что-то другое", но разве не проще будет это сделать, когда у нас вся работа с контекстом инкапсулирована в репозитории?

а не раскидана по коду как дурная

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

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
queryable и select только того, что нужно разве не решает эту проблему?
ну зависит от связей :) лейзи лоада.. легко можно получить select n+1

Алексей
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
а промизы в c# любите юзать?
ты жаваскриптер чтоле? :)

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

anton
27.01.2017
16:02:59
в шарпе это таски

без тасков никак :)

Страница 273 из 1888

Эта группа больше не существует Эта группа больше не существует