tag:blogger.com,1999:blog-458002489272917533.post7843838582308367909..comments2024-02-14T14:07:38.890+05:00Comments on Блог Александра Бындю: Какой способ работы с базой данных вы используете?Alexander Byndyuhttp://www.blogger.com/profile/14185486842573956085noreply@blogger.comBlogger67125tag:blogger.com,1999:blog-458002489272917533.post-78400826869574489172012-04-09T19:05:08.935+06:002012-04-09T19:05:08.935+06:00теоретики такие теоретикитеоретики такие теоретикиYaNNnoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-33455896063990742412012-03-23T23:35:38.298+06:002012-03-23T23:35:38.298+06:00- TDD не спасет, если большую часть кода, покрытог...- TDD не спасет, если большую часть кода, покрытого тестами, вам придется выкинуть. Или если окажется, что она вообще была не нужна, а нужно было наколбасить формочек на стыке трех баз.<br />- "We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil"<br />Не стоит забывать про 3 процента времени, когда лучше отключить фанатизмPavel Pachobutnoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-1506410485695549372012-03-23T21:57:18.065+06:002012-03-23T21:57:18.065+06:00Спасибо, я пожалуй откажусь.Спасибо, я пожалуй откажусь.hazziknoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-49408101033365431502012-03-23T21:52:59.946+06:002012-03-23T21:52:59.946+06:00да, например через linked servers.да, например через linked servers.Pavel Pachobutnoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-5195370817505208962012-03-23T21:52:13.060+06:002012-03-23T21:52:13.060+06:00да, есть провайдеры с поддержкой webfarm/webgarden...да, есть провайдеры с поддержкой webfarm/webgardenPavel Pachobutnoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-59422662843275949562012-03-23T20:26:33.269+06:002012-03-23T20:26:33.269+06:00Хранимые процедуры поддерживают несколько серверов...Хранимые процедуры поддерживают несколько серверов? О.оhazziknoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-34882572554027846072012-03-23T19:29:18.939+06:002012-03-23T19:29:18.939+06:00NH кеш научился работать на нескольких серверах?NH кеш научился работать на нескольких серверах?Zotuss21noreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-3508366921886885542012-03-22T14:23:48.180+06:002012-03-22T14:23:48.180+06:00Да, я сяду и сразу ломанусь в лес на своем Феррари...Да, я сяду и сразу ломанусь в лес на своем Феррари. И вот почему:<br /><br />- TDD,<br />- "Преждевременная оптимизация - корень зла в программировании" (С) Энтони Хоар http://en.wikipedia.org/wiki/C._A._R._Hoare<br /><br />В современном информационном обществе принцип "семь раз отмерь - один отрежь" уже не работает, а работает другой - "кто раньше встал, того и тапки&hazziknoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-46509290249039565062012-03-22T13:59:15.867+06:002012-03-22T13:59:15.867+06:00Интересный аргумент. Видать народная мудрость на п...Интересный аргумент. Видать народная мудрость на пустом месте возникла и Вы будете сразу пилить, пока кто-то будет мерить. Ну или, продолжая начатую аналогию с авто, вы сядете в свой феррари и ломанетесь в лес не раздумывая, да, туда долетите быстрее, а потом сидя по ... крышу в грязи будете с интересом смотреть на плавно проползающий мимо трактор конкурентов :)Alex Zizikonoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-47232108862751264092012-03-21T16:59:38.122+06:002012-03-21T16:59:38.122+06:00> но применение всего должно быть много раз обд...> но применение всего должно быть много раз обдумано и обоснованоПока вы будете думать, кто-то уже сделает.hazziknoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-3833161952089871212012-03-19T23:26:58.389+06:002012-03-19T23:26:58.389+06:00Буду надеяться что они все вымерли или образумилис...Буду надеяться что они все вымерли или образумились.hazziknoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-75916005408475103472012-03-19T23:21:43.940+06:002012-03-19T23:21:43.940+06:00Сомневаюсь, что фанаты "чисто хранимок" ...Сомневаюсь, что фанаты "чисто хранимок" внемлют вашим доказательствам, особенно если учесть что в комментариях они не отметились, а вы уже успели обвинить их в сильной кривизне рук.Pavel Pachobutnoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-89280777582953125512012-03-19T22:15:18.372+06:002012-03-19T22:15:18.372+06:00>
я то тут при чем?
Да не переходите вы на личн...><br />я то тут при чем?<br />Да не переходите вы на личности. Я же вам не в личной почте доказываю, да и не вам вовсе, а всем тем кто это будет читать.hazziknoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-35921242781568745282012-03-19T20:54:38.089+06:002012-03-19T20:54:38.089+06:00>> Вы - нет, но кто-то тут точно это говорил...>> Вы - нет, но кто-то тут точно это говорил<br />вот и пытайтесь образумить этого "кого-то", и мантру свою доносите до него же. я то тут при чем?<br /><br />>> Факт в том что этот предлог такой же выдуманный, как и тот, что написали именно вы.<br />Это для вас он выдуманный. А для меня на, в конкретном месте на конкретном проекте - суровая реальность. В отличие от общего &Pavel Pachobutnoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-81206910781035215672012-03-19T20:23:55.884+06:002012-03-19T20:23:55.884+06:00>
и за год там не найдено ни одного бага.
Я рад...><br />и за год там не найдено ни одного бага.<br />Я рад, что вам не пришлось сталкиваться с таким ужасом, с которым приходилось сталкиваться мне.<br /><br />>Лично для меня важно что то место работает в 100-200 раз быстрее, чем аналогичное с "тащить все в память",<br />Мне доводилось видеть тысячекратное ускорение, при отказе от хранимок в пользу ORM и параллельной обработки hazziknoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-11595930487242902932012-03-19T19:16:10.966+06:002012-03-19T19:16:10.966+06:00Я особо не заморачивался над дизайном, а просто пр...Я особо не заморачивался над дизайном, а просто привел запрошенный вами пример псевдокода репозитория без использования ORM в наиболее явно виде. <br />По поводу не попадания, реализация скрыта за интерфейсом репозитория, и с т.з потребителя - все по феншую т.к. нужная прослойка есть, с точки зрения реализации можно вынести отдельно еще и маппер/запросовыполнитель, но опять же если это Alex Zizikonoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-23301363746799669312012-03-19T18:53:47.250+06:002012-03-19T18:53:47.250+06:00Сейчас придут фанаты SRP и начнут кричать что он н...Сейчас придут фанаты SRP и начнут кричать что он нарушен.<br />Ваш пример не попадает под ваше же определение "Mediates between the domain and data mapping layers". Т.к. сам SimpliestDomainObjectRepository сам занимается data mapping-ом, а не должен. И у Александра, которому я отвечал, Data Mapper явно отдельно существует.Pavel Pachobutnoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-43898120165507942642012-03-19T18:33:56.739+06:002012-03-19T18:33:56.739+06:00SimpliestDomainObjectRepository : IEntityRepositor...SimpliestDomainObjectRepository : IEntityRepository {<br /> public DomainObject Get(long id) {<br /> var reader = Database.OpenReader("select * from table where id = :id");<br /> var res = new DomainObject();<br /> res.Id = reader["Id"];<br /> return res;<br /> }<br />}Alex Zizikonoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-4715723822141095442012-03-19T18:21:07.528+06:002012-03-19T18:21:07.528+06:00Я вполне серьезно. Если вы знаете как использовать...Я вполне серьезно. Если вы знаете как использовать Repository поверх реляционной базы, не используя при этом Object-relational mapping - расскажите. А не цитируйте википедию.Pavel Pachobutnoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-24421943213251397582012-03-19T18:08:48.582+06:002012-03-19T18:08:48.582+06:00>> Хранимки там использовались по тем же выд...>> Хранимки там использовались по тем же выдуманным причинам, которые <br />привели вы - "не тащить кучу данных", "это быстрее, т.к. компилируется" и<br /> т.д. <br />Во первых я вообще ровно про одно место упоминал (и один проект), где лично я использовал хранимки. И не вам решать, по выдуманной причине, или нет. Лично для меня важно что то место работает в 100-200 раз Pavel Pachobutnoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-1769276251190289412012-03-19T17:32:22.837+06:002012-03-19T17:32:22.837+06:00Понятно, что в этом случае нет смысла использовать...Понятно, что в этом случае нет смысла использовать ORM. hazziknoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-64799212970746843922012-03-19T14:23:59.819+06:002012-03-19T14:23:59.819+06:00Саша, только не надо забывать, что клиентом для БД...Саша, только не надо забывать, что клиентом для БД может быть и тонкий клиент в виде Microsoft Excel с его Pivot Table. Не всегда enterprise пирложение имеет удобную форму представления и анализа информации о продажах, например. Работа с Pivot Table доступна для создания пользователями аналитического отдела, т.е. есть возможность делегирования из отдела разработки в аналитический... В этом случаеOleg Karpovnoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-43481362860900095562012-03-19T14:19:52.954+06:002012-03-19T14:19:52.954+06:00Вы серьезно? Отделите плз мух от котлет.
Repositor...Вы серьезно? Отделите плз мух от котлет.<br />Repository - Mediates between the domain and data mapping layers using a collection-like interface for accessing domain objects<br />ORM is a programming technique for converting data between incompatible type systems in object-oriented programming languagesAlex Zizikonoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-67596831463280157882012-03-19T14:07:19.980+06:002012-03-19T14:07:19.980+06:00В очередной раз не дочитал срач развернувшийся в к...В очередной раз не дочитал срач развернувшийся в комментариях к статье Александра. А все почему? Потому что народ у нас очень любит бросаться из крайности в крайность и тупо следовать "мейн стриму". Ну не было раньше ни IoC, ни DDD ни явно вырожденных серверов приложений, и что? Системы написанные без всей этой тягомотины не работают? Работают, поверьте уж, и работают прекрасно, и что Alex Zizikonoreply@blogger.comtag:blogger.com,1999:blog-458002489272917533.post-87516967078057997482012-03-18T02:04:33.027+06:002012-03-18T02:04:33.027+06:00Написал тут блогопост со своим мнением на этот сче...Написал тут блогопост со своим мнением на этот счет. <br />http://blog.hazzik.ru/post/19463059043hazziknoreply@blogger.com