|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
skyANAНичего он никуда не вбивает. Код показать? :) Ну вот в таком виде да, съедобно :) http://codearticles.ru/articles/2548 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:04 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
МСУАлексей КПотомок репозитария не является репозитарием? Это что-то новое в современной трактовке ООП. Речь об основном репозитории. Кеширующие, агрегирующие, танцующие во тьме и прочие репозитории - нужны конкретно для своей специфики. Об этом речь. Основной репозиторий при этом цел и невредим, может использоваться хоть на луне.Современная теория репозитариев не делит репозитарии на категории: основные, неосновные или какие-то ещё. Было сказано: "Кэшированию в репозитарии не место". Начались отмазки: "Это неосновной репозитарий и т. п.". Это всё к вопросу о нормальной терминологии. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:04 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
МСУskyANAНичего он никуда не вбивает. Код показать? :) Ну вот в таком виде да, съедобно :) http://codearticles.ru/articles/2548 Ахаха. Открыл-таки для себя шаблон Декоратор и сразу же в рецепты занёс (Дата создания: 06.01.2015 11:03). Молодец! А что тот самокат с виртуальными методами и наследованием не занёс? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:09 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
Алексей КСовременная теория репозитариев не делит репозитарии на категории: основные, неосновные или какие-то ещё. Кто определяет современную терминологию? :) Алексей КБыло сказано: "Кэшированию в репозитарии не место". Начались отмазки: "Это неосновной репозитарий и т. п.". Сразу ниже во втором посте в качестве уточнения было сказано про боевой репо 17088063 и о том, как сделать рабочий вариант. Но ты прицепился к первому посту и продолжаешь его насиловать. Твоё право Алексей КЭто всё к вопросу о нормальной терминологии. Да нормально тут всё с терминами. Есть репо для работы с данными. Есть другой репо, наследник, для работы с кешем. По сути тот же декоратор, если тебе так легче. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:10 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
skyANAАхаха. Открыл-таки для себя шаблон Декоратор и сразу же в рецепты занёс (Дата создания: 06.01.2015 11:03). Молодец! Этот шаблон был предложен вот тут 17088063 skyANAА что тот самокат с виртуальными методами и наследованием не занёс? Он очевиден :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:11 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
МСУАлексей КБыло сказано: "Кэшированию в репозитарии не место". Начались отмазки: "Это неосновной репозитарий и т. п.". Сразу ниже во втором посте в качестве уточнения было сказано про боевой репо 17088063 и о том, как сделать рабочий вариант.Там не рабочий вариант, там так, поделие. Декораторы можно комбинировать и применять к разным репо, а с наследованием не получится :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:13 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
Почитал Бындю . Пара фраз просто убила: автор не умеет работать с ОРМУбираем ORM для лучшей оптимизации - сами ORM редко делают оптимальные запросы, а сложный запрос написать на языке понятном ORM (Linq, HQL и т.п.) практически невозможно. автор заблуждаетсяУбираем весь код выборки в хранимые поцедуры - есть мнение, что таким образом SQL-код начинает работать быстрее. автор ни болта не рубит в оптимизации запросовЧто больше всего тормозит SQL-запрос? Скорее всего оператор JOIN, когда приходится объединять много таблиц и записей. Как показала практика, если в JOIN участует по миллиону строк из каждой таблицы, такой запрос работать быстро не будет никогда, даже при самых глубоких оптимизациях. автору не интересен один из наиболее эффективных приёмовЕсть еще способы с репликацией БД и чтением данных из реплик, но я не буду их рассматривать. автор рисует неправильные картины мира Вспомнилось: "Маленькая ложь рождает большое недоверие" (ц) Автор не смог нормально организовать код в репозитариях. Автор решил выделить каждый метод в отдельный класс, мотивируя это каким-то мифическим нарушением SRP. Бог ему судья. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:15 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
МСУskyANAАхаха. Открыл-таки для себя шаблон Декоратор и сразу же в рецепты занёс (Дата создания: 06.01.2015 11:03). Молодец! Этот шаблон был предложен вот тут 17088063 Твои глупые кривляния на кого расчитаны? На тех кто не откроет ссылку, или не поймёт, что нет там никакого Декоратора? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:15 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
Алексей К, знаешь почему NoSQL тупо быстрее SQL? Там нет JOIN-ов :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:20 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
skyANAТам не рабочий вариант, там так, поделие. Да та же редька, только в профиль. Задачу решает 100%. skyANAДекораторы можно комбинировать и применять к разным репо, а с наследованием не получится :) Зачем мне их комбинировать и применять к разным репо? Моя задача откешировать метод. Не выдумывай проблемы на ровном месте :) skyANAТвои глупые кривляния на кого расчитаны? На тех кто не откроет ссылку, или не поймёт, что нет там никакого Декоратора? Ты упёрся рогом в декоратор и не желаешь смотреть на суть вопроса. Кончай жить паттернами и начни думать своей головой, а не чужой. Ты озвучил сиутацию с кешированием, я тебе дал рецепт, как сделать её на родном контроллере. Потом ты начинаешь кривляться и выдумать какие-то новые проблемы с комбинированием и разными репо. Так скоро и до освоения космоса дойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:21 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
Алексей К, знаешь почему применяют Денормализацию для ускорения выборки? Потому как в денормализованные таблицы не нуждаются в JOIN-ах :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:21 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
skyANAАлексей К, знаешь почему NoSQL тупо быстрее SQL? Там нет JOIN-ов :) Очень сомнительное высказывание. Что с чем измеряется? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:22 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
МСУskyANAТам не рабочий вариант, там так, поделие. Да та же редька, только в профиль. Задачу решает 100%. skyANAДекораторы можно комбинировать и применять к разным репо, а с наследованием не получится :) Зачем мне их комбинировать и применять к разным репо? Моя задача откешировать метод. Не выдумывай проблемы на ровном месте :) skyANAТвои глупые кривляния на кого расчитаны? На тех кто не откроет ссылку, или не поймёт, что нет там никакого Декоратора? Ты упёрся рогом в декоратор и не желаешь смотреть на суть вопроса. Кончай жить паттернами и начни думать своей головой, а не чужой. Ты озвучил сиутацию с кешированием, я тебе дал рецепт, как сделать её на родном контроллере. Потом ты начинаешь кривляться и выдумать какие-то новые проблемы с комбинированием и разными репо. Так скоро и до освоения космоса дойдет.Пустомеля ты. Я про то как реализовать кэширование в репозитории не вставляя в него никакие грабли, ещё в прошлом году рассказывал :) Не надо теперь делать вид, что ты предложил мне то, что мне так было нужно, а я не знал как это реализовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:24 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
МСУskyANAАлексей К, знаешь почему NoSQL тупо быстрее SQL? Там нет JOIN-ов :) Очень сомнительное высказывание. Что с чем измеряется?Ну если мне не веришь, можно поискать более авторитетные источники. Хотя бы на Хабре: " NoSQL базы данных: понимаем суть ". ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:26 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
skyANAПустомеля ты. Я про то как реализовать кэширование в репозитории не вставляя в него никакие грабли, ещё в прошлом году рассказывал :) У меня кеширование точно так же без грабель, вынесено в отдельный кеширующий слой, которой так же легко доставать через инверсию интерфейса репозитория. Всё работает безшовно. skyANAНе надо теперь делать вид, что ты предложил мне то, что мне так было нужно, а я не знал как это реализовать. Я не делаю никому виды, я ответил на твой начальный вопрос о том, как делается кеширование за один чих. А ты начал надувать щеки. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:28 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
Алексей КАвтор не смог нормально организовать код в репозитариях. Автор решил выделить каждый метод в отдельный класс, мотивируя это каким-то мифическим нарушением SRP. Бог ему судья.Понимаешь. Когда у тебя модульная архитектура, о переходе к которой пишет автор. То одному модулю нужны одни данные, второму другие, третьему... и т.д. И если поступать так, как Вы с отчётами: фигачить 100500 методов в репозиторий с сущностями, что нужны только в одном из модулей, - то нарушение SRP становится ни фига не мифическим :) И автор рассказывает как эволюционировал их код, после того, как они столкнулись с данной проблемой на практике. Когда и вы на это напоретесь, если напоретесь, то можешь изобрести что-то своё. У тебя же изобретать хорошо получается, целый сайт этому посвящён. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:31 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
skyANAМСУпропущено... Очень сомнительное высказывание. Что с чем измеряется?Ну если мне не веришь, можно поискать более авторитетные источники. Хотя бы на Хабре: " NoSQL базы данных: понимаем суть ". Ты архитектуру строишь по хабрам? Молодец, чё. P.S. У NoSQL есть свои плюсы, есть и свои минусы. Но современные реляционные СУБД могут удовлетворить даже самого требовательного знатока. Вон сколько лет мощнейшие биллинги крутятся на ораклах в билайнах, мтсах и мегафонах. И все рады. Просто нужно иметь прямые руки. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:32 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
МСУАлексей КЭто всё к вопросу о нормальной терминологии. Да нормально тут всё с терминами. Есть репо для работы с данными. Есть другой репо, наследник, для работы с кешем. По сути тот же декоратор, если тебе так легче.Нормально, ага. Тынц Ну вот скажи: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Все эти классы можно считать репозитариями, или только какой-то один? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:34 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
skyANAАлексей К, знаешь почему NoSQL тупо быстрее SQL? Там нет JOIN-ов :)Это я понял. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:37 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
МСУskyANAПустомеля ты. Я про то как реализовать кэширование в репозитории не вставляя в него никакие грабли, ещё в прошлом году рассказывал :) У меня кеширование точно так же без грабель, вынесено в отдельный кеширующий слой, которой так же легко доставать через инверсию интерфейса репозитория. Всё работает безшовно.Понятно что работает. Но это не лучшее решение. В реальной системе не одну сущность надо кэшировать, не только Album-ы как в твоём примере, а несколько. И что ты будешь делать? Реализовывать N наследников от N репозиториев? А декоратор для кэширования реализуется один и применяется к N репозиториям через инверсию. МСУskyANAНе надо теперь делать вид, что ты предложил мне то, что мне так было нужно, а я не знал как это реализовать. Я не делаю никому виды, я ответил на твой начальный вопрос о том, как делается кеширование за один чих. А ты начал надувать щеки.Я не надувал щёки, я вообще пиво пил. Просто намекнул, что ты запостил сюда ссылку на велосипед. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:37 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
МСУskyANAпропущено... Ну если мне не веришь, можно поискать более авторитетные источники. Хотя бы на Хабре: " NoSQL базы данных: понимаем суть ". Ты архитектуру строишь по хабрам? Молодец, чё. P.S. У NoSQL есть свои плюсы, есть и свои минусы. Но современные реляционные СУБД могут удовлетворить даже самого требовательного знатока. Вон сколько лет мощнейшие биллинги крутятся на ораклах в билайнах, мтсах и мегафонах. И все рады. Просто нужно иметь прямые руки.Дурак ты, чё. Я не строю архитектру по хабрам, я использую его как источник информации о том, чтобы понять что "У NoSQL есть свои плюсы, есть и свои минусы" и какие. Про архитектуру "на ораклах в билайнах, мтсах и мегафонах" мне ничего не известно, они не выступают на конференциях. Зато IBM регулярно устраивает митапы. И всякие Evernote выступают на конференциях. И я не исключаю того, что "в билайнах, мтсах и мегафонах" на ораклах крутится только основное хранилище, а биллинги уже давно построены на каких-нибудь очередях и NoSQL :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:43 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
skyANAИ если поступать так, как Вы с отчётами: фигачить 100500 методов в репозиторий с сущностями, что нужны только в одном из модулей, - то нарушение SRP становится ни фига не мифическим :)Нет никаких 100500 методов в классе, если нормально следовать правилам рефакторинга, например по тому же Фаулеру. А вот если фанатично каждый метод выносить в отдельный класс, то можно напороться на слишком маленькую ответственность класса, что тоже плохо - чем больше классов, тем выше затраты на их интеграцию. Нужно искать компромисс количества методов в классе. skyANAИ автор рассказывает как эволюционировал их код, после того, как они столкнулись с данной проблемой на практике. Когда и вы на это напоретесь, если напоретесь, то можешь изобрести что-то своё.Мы тоже сталкивались с такими проблемами на практике. Все проблемы были успешно преодолены применением банального рефакторинга и разработкой принципов группирования методов в классы. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:45 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
Ну и плюс к прямым рукам, которые имеются (основное хранилище-то на MS SQL у нас, и ни фига не простаивает) нужны ещё не кислые бабки, чтобы построить распределённую систему "на ораклах" с их лицензиями. Вот сколько у вас серверов в кластере? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:45 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
Алексей КНормально, ага. Тынц Мир паттернами не измеряется, он гораздо шире. Ты хочешь инструкцию на все случаи жизни? Готов разочаровать, такой не существует. Да и где ты увидел нарушения при использовании обычного наследования? Алексей КВсе эти классы можно считать репозитариями, или только какой-то один? Какая-то бессвязная каша. На помойку. skyANAПонятно что работает. Но это не лучшее решение. Ну знаешь ли. Лучшее или не лучшее, это не тебе судить. Оно решает озвученную тобой задачу и легко ложится в концепцию репо. skyANAВ реальной системе не одну сущность надо кэшировать, не только Album-ы как в твоём примере, а несколько. И что ты будешь делать? Реализовывать N наследников от N репозиториев? Да. Точно так же, как в случае с декоратором . И это правильно. skyANAА декоратор для кэширования реализуется один и применяется к N репозиториям через инверсию. Смотря как писать. Можно иметь один толстый кеширующий декоратор, можно его разносить по логической связи, как у меня в рецепте. Я бы лучше разносил, а не гадил в одну навозную кучу. Но в любом случае это не проблема. skyANAЯ не надувал щёки, я вообще пиво пил. Просто намекнул, что ты запостил сюда ссылку на велосипед. :) Ссылка на велосипед - те же яйца, только в профиль. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:46 |
|
Применение автономной работы с бд на практике
|
|||
---|---|---|---|
#18+
skyANAДурак ты, чё. Параноики начали ругаться от бессилия? Забавно. skyANAЯ не строю архитектру по хабрам, я использую его как источник информации о том, чтобы понять что "У NoSQL есть свои плюсы, есть и свои минусы" и какие. Про архитектуру "на ораклах в билайнах, мтсах и мегафонах" мне ничего не известно, они не выступают на конференциях. Зато IBM регулярно устраивает митапы. И всякие Evernote выступают на конференциях. Я тебе говорю о том, что любые задачи решаются (и хорошо решаются!) на обычных реляционных БД с внятными констреинтами и прочими фичами. Большинство неофитов вроде тебя за уши притягивают NoSQL, которая нафик не уперлась. skyANAИ я не исключаю того, что "в билайнах, мтсах и мегафонах" на ораклах крутится только основное хранилище, а биллинги уже давно построены на каких-нибудь очередях и NoSQL :) Там дураков нет :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2015, 11:48 |
|
|
start [/forum/topic.php?fid=17&msg=38848988&tid=1349647]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
157ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 272ms |
0 / 0 |