|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
Доброго времени суток Работая с EF (c включенным lazyLoading), если я хотел получить n+1 сущность, то я использовал метод Include(string entityName) класса ObjectSet<Entity> Например, чтобы сразу загрузить все категории и их статьи я писал что-то похожее на данный код (давно EF использовал) return ObjectSet<Category>.Include("Post"); Недавно познакомился с NHibernate и пока не могу найти аналогичную возможность в данном ORM. Она должна быть, но наверно я неправильно ищу. Подскажите, как выгружать n+1 сущность в nHibernate Я пару недель назад, когда задавался этим вопросом, то пытался реализовать это следующим образом Код: c# 1. 2. 3. 4. 5.
Но NHProfiler показал, что загружены только категории ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2012, 04:11 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
besserebrenik, ICriteria - двоольно старый API. Если нет принципиальных возражений - используйте QueryOver: Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2012, 10:38 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
besserebrenik, А уже если не боитесь строк, то hql делает еще проще: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2012, 10:44 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
SolYUtor, Спасибо за ответ, сегодня опробую в учебных примерах Строк не боюсь, т.к. код в репозиториях будет спрятан - главное, чтобы работал подход :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2012, 15:43 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
SolYUtor, И снова спасибо за ответ! Это правда уже оффтоп, но действительно я набил шишек на тех вещах, которые реально не дают пользы. Я очень долго пытался впихнуть презентеры в свой дипломный проект, но оказалось, что это абсолютно ненужная вещь, если доменная модель не аннемична (anemic domain model). Rich Domain Model (не ошибся надеюсь в терминах), в которой инкапсулирована логика предметной области и соответственно тщательно протестирована, дополнительного слоя, для представления, не требует. Еще больше времени я убил на изучение паттерна Unit Of Work , который в большинстве реализаций был обычной оберткой над транзакцией и зачастую весьма сложной. Но насчет репозиториев нужно подумать и возможно набить шишки самому.. Пока что один абстрактный репозиторий , и его реализации на каждый aggregation-root для меня это не так страшно.. Хотя это в идеале, обычно репозиториев больше. За ссылки спасибо большое, очень интересно! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2012, 23:43 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
besserebrenik, если позволите, еще пару советов напоследок: 1. Хорошая практика при использовании NHibernate - это рассматривать ISession как UnitOfWork. Все изменения в объектах, сделанные в рамках сессии будут автоматом сброшены в бд. 2. Rich Domain Model описывающая логику предметной области не всегда хорошо для непосредственно отображения. Поэтому частенько разрабатывают дополнительную модель, описывающую логику представления (это, что Фаулер ранее называл Presentation Model, а теперь более модно называть MVVM). 3. Презентеры вещь хорошая, но требует некоторого опыта и понимаю. В общем, для понимания, как строить UI очень советую осилить серию блогов от Jeremy D. Miller 'а. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2012, 12:03 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
SolYUtor, Позвольте я объясню свое разочарование в MVP, (я с начала пытался сделать чистый MVP, но по ходу работы у меня выродилось в Presentation Model) Я использовал presentation model, но буквально недавно я снес проект, содержащий слой презентеров, из своего решения и одна из причин, заставившей меня это сделать, объяснена ниже Интерфейс вьюшки 1 отображает список некоторой доменной сущности 2 может показывать ошибку 3 спрашивать подтверждения пользователя 4 содержит две кнопки, первая - закроет въюшку, вторая откроет новый вью с отображением более подробной информации о доменной сущности Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
презентер, продемонстрирован только конструктор Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
И реализация view Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41.
и фрагмент из точки старта приложения Код: c# 1. 2. 3. 4.
Проблема для меня начинается, когда пользователь щелкает по кнопке - "показать детально". Возникает вопрос - презентер должен создать новый вью для отображения детальных данных сущности и передать ей эту самую сущность? Но тогда презентер знает о реализации вью (хотя это можно обойти через IoC, но из пушки по воробъям..) Или когда пользователь щелкает по кнопке, я должен создать во вью новую форму для детального отображения сущности, создать соответствующий презентер и передать, в качестве модели, _bindingSource.Current ? ну примерно так Код: c# 1. 2. 3. 4. 5. 6.
Но в таком случае уже вью знает о презентере ))) Ведь по идее, проект со вьюшками видит модель и сборку с презентерами. Сборка с презентерами также знает о модели. А презентеры знают только об интерфейсах вью (их предпочтительно расположить в сборке с презентарами). Но хотя если не заморачиваться об областях видимости, то я бы предпочел второй подход - когда view создает соответствующий презентер и передает ему модель. Почему-то вопросам навигацию в MVP посвящено очень мало внимания :( ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2012, 13:21 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
besserebrenik, P.S. извиняюсь перед администратором за оффтоп, я сильно отошел от темы в заголовке ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2012, 13:22 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
besserebrenik, да забей ты на этих шаблонистов создай свои шаблоны - удобные и эффективные для тебя илиты хошь дело догматиков продолжить? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2012, 13:28 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
вот фрагмент домена прога сама должна по семантике связей (+ доп семантика введенная пользователем) создавать агрегатные типы (include твои) для заданного контекста, визуализировать автоматически данный агрегат (разные представления агрегата в контексте визуализации) и обеспечить целостность агрегата в заданном контексте и в контексте домена. А всех фаулеров и гамм на пенсию нафиг. заодно и буча. почему то болбаный форум не принимет картинки. никак муся старался. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2012, 13:41 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, Я начитался книг и статей по best practices и захотел сделать интересный, с точки зрения архитектуры, проект.) Но больше меня, как начинающего специалиста, интересует выработка некой методологии написания проектов и я, не имея собственного опыта, стал следовать за догматистами, о чем уже жалею ) Если кода не так много, то может через спойлер сюда или ссылочку на репозиторий .. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2012, 16:12 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
besserebrenik, не дает форум прикрепить ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2012, 16:14 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
догматисты = (по русски) догматики :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2012, 16:16 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
смотри какой инфой прога владеет что ей стоит самой интерпретировать метаинфу это только структурная инфа, а есть и поведенческая ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2012, 16:45 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, теперь мы говорим - создай персистентный агрегат (выбранные типы) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2012, 16:50 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
получаем агрегат ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2012, 16:52 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, визуализируем ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2012, 16:55 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, Впечатляет! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2012, 22:37 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
SolYUtorРепозиторий при наличии хорошей ORM - зло, зло, зло а если вдруг понадобится сменить ORM? месяцами будете переделывать? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2012, 22:38 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
17-77а если вдруг понадобится сменить ORM? месяцами будете переделывать? Зачем страдать фигнёй исходя из ложного предположения? И ссылки почитайте, полезно будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2012, 10:10 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
besserebrenikViPRos, Впечатляет! и, как уже несколько раз замечено, тут обсуждение вопроса сразу обрывается :) с чего бы это? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2012, 17:12 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
SolYUtorЗачем страдать фигнёй исходя из ложного предположения? И ссылки почитайте, полезно будет. ссылки я почитал и в связи с этим задал вопрос, если у вас не было такой ситуации, это не значит что их вообще не существует, а история следующая: проект, прототип, первая версия, MS SQL Compact 3.5 + LINQ-to-SQL, внезапно появляется элементарное требование - сделать пейджинг на страницах, чтобы не 1000 записей, а по 10,20,... SQL Compact 3.5 не умеет этого в нативном sql, сменили версию на 4.0, только вот LINQ-to-SQL не умеет с ней, пришлось менять ORM, на EF, было около 20-30 выделенных репозитеориев (интерфейс + реализация для LINQ + реализация для MOCK), сколько было мест использований - не считал, на все ушло полдня-день, плюс еще сделали дженерик для пейджинг-коллекций со свойствами TotalCount / PageCount / PageSize Репозиторий скрывает контекст БД, вы его предлагаете убрать (по ссылкам кстати его не убирают, а заменяют выход от готового списка на гибкий IQueryable<T>), т.е. вы с вашим подходом будете писать везде, нечто такое: Код: c# 1. 2. 3. 4. 5. 6.
и это в сотнях и тысячах мест xD ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 12:59 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, Нуу.. я может вас не так понял, но я думал, что вы покажете или фрагмент кода или скажите какие-то соображения относительно использования презентеров. Например, вот скрин программы и вот здесь вот я использовал MVP подход, а вот для этой въюшки - нет, потому-что здесь это нафиг не надо (это уже что-то) А вы выложили скрины программы, которая создает сущности на основании их метаданных ) Мне ничего не оставалось, как ответить - "Впечатляет!" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 13:05 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
besserebrenik, Насчет обуждения Repository, возращающего готовые списки и IQueryable<T> , рекомендую почитать (вместе с комментариями) Из комментариев первой статьи появляется уже вторая статья. http://blog.byndyu.ru/2011/01/domain-driven-design-repository.html http://blog.byndyu.ru/2011/08/repository.html Мне, честно говоря нравится более второй подход, как было отмечено 17-77, он гибче ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 13:16 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
besserebrenik, да я не про тебя :) ты то все уловил на корню ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 13:52 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
17-77ссылки я почитал и в связи с этим задал вопрос, если у вас не было такой ситуации, это не значит что их вообще не существует, а история следующая: проект, прототип, первая версия, MS SQL Compact 3.5 + LINQ-to-SQL, внезапно появляется элементарное требование - сделать пейджинг на страницах, чтобы не 1000 записей, а по 10,20,... SQL Compact 3.5 не умеет этого в нативном sql, сменили версию на 4.0, только вот LINQ-to-SQL не умеет с ней, пришлось менять ORM, на EF, было около 20-30 выделенных репозитеориев (интерфейс + реализация для LINQ + реализация для MOCK), сколько было мест использований - не считал, на все ушло полдня-день, плюс еще сделали дженерик для пейджинг-коллекций со свойствами TotalCount / PageCount / PageSize Сочувствую. Вы выбрали убогую технологию. С ней невозможно построить сколь-нибудь приличное приложение. Вот и занялись заменой того-сего. Пробовали выйти за пределы microsof echo chamber? Там много всего интересного! Честно-честно. Насчёт IQueryable - его по-настоящему поддерживает только linq-to-object. Все остальные провайдеры лишь небольшую его часть, причем все по разному. Работая с ним вы используете дырявую абстракцию, т.к. ориентируетесь на конкретный механизм доступа к данным. Подробнее . Для сложных приложений всегда приходится ориентироваться на конкретный тип доступа к данным из соображений эффективности. Поэтому хороший построить репозиторий, который действительно легко заменить можно только ценой потери эффективности (гибкое управление ленивой загрузкой, количеством запросов к бд, количеством загружаемых записей и т.д.). Это плата не для меня. besserebrenikМне, честно говоря нравится более второй подход, как было отмечено 17-77, он гибче Каждая абстракция отрезает низкоуровневые возможности, вы сознательно их игнорируете. Иногда это хорошо, иногда не очень. С данными это всегда не очень. Представьте себе, что есть интерфейс: Код: c# 1. 2. 3. 4.
Если этот интерфейс имеет реализует холодильник - проблем нет. Захотели пообедать - сходили к холодильнику. А теперь представьте себе, что в арктической экспедиции, и IFoodRepository реализует корабль, который приплывает к вам раз в полгода. Сможете ли вы игнорировать этот факт? Поэтому могу лишь еще раз повторить свою точку зрения - при наличии хорошей ORM или развитого механизма доступа к данным - репозиторий зло. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 15:47 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, если что - то меня не впечатляет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 15:48 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
SolYUtor, почему? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 15:59 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
17-77внезапно появляется элементарное требование - сделать пейджинг на страницах, чтобы не 1000 записей, а по 10,20,... SQL Compact 3.5 не умеет этого в нативном sql..."Просчёты одних рождают героизм других" (с) Архитектору стоит почуствовать себя виноватым. 17-77Репозиторий скрывает контекст БД, вы его предлагаете убрать (по ссылкам кстати его не убирают, а заменяют выход от готового списка на гибкий IQueryable<T>), т.е. вы с вашим подходом будете писать везде, нечто такое: Код: c# 1. 2. 3. 4. 5. 6.
и это в сотнях и тысячах мест xDЧто вместо этого предлагается писать в "сотнях и тысячах мест"? Вроде как в представленном примере весь код направлен на решение чисто прикладной задачи: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 16:26 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRosпочему?Потому что проще воспользоваться тем же WPF + нормальный бизнес-фреймворк, чем вводить метаданные + править ядро ВипРоса в случае нетиповых ситуаций. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 16:40 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRosпочему? Алексей КПотому что проще воспользоваться тем же WPF + нормальный бизнес-фреймворк, чем вводить метаданные + править ядро ВипРоса в случае нетиповых ситуаций. Отвечу сразу обоим. Дело даже не в WPF как таковом, дело глобальнее. Программистов (и тех кто рядом) уже давно волнуют некоторые больные вопросы софтостроения, удачное решения для которых бередит умы опытных и неопытных программистов. Одну из них - доступ к данным - мы сейчас активно мусолим. Но единого победоносного варианта нет. Всегда приходится искать способы сгладить углы на мультиугольнике. Серебряных пуль не подвезли. Еще одна особо голубая мечта человечества - писать программы без программистов. Уже не одно поколение средств померло в попытках родить нечто, что может выкинуть дорогих программистов из процесса создания ПО. Всякие case-средства, нонче вот народ любит с BPL баловаться. Но у этих попыток есть две большие проблемы: 1. Создание средства, которое позволяло бы моделировать что-либо на достойном уровне очень-очень невероятно сложно само по себе, и требует миллионы человеко-лет труда. Далеко не всем конторам это под силу. Но даже решение этой проблемы бессмысленно, из-за второй проблемы. 2. Программирование сложно само по себе. Малое количество пользователей может формализовать проблему. А уж запрограммировать (пусть мышкой) - это высший пилотаж. Приходится нанимать консультантов, чтобы они могли настроить систему . Это уже не говоря про другие вопросы: как управлять конфигурацией, как класть изменения в контроль версий и управлять изменениями, как проводить аудит, как тестировать, как отлаживать, как решать вопросы производительности и т.д. и т.п. Даже более простая задача - конфигурация приложения - это тоже программирование, и требует для своего обслуживания высококвалифицированный персонал. Всё это сводит на нет все теоретические плюсы мышкопрограммируемых систем. С их помощью можно родить только очень простой CRUD-софт. Это эдакий вечный двигатель в разрезе программирования. С помощью языков программирования общего назначения можно получить продукт, лучше удовлетворяющий интересам заказчика, и лучше и проще расширяемый с помощью простой системы плагинов. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 17:17 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
Алексей КАрхитектору стоит почуствовать себя виноватым. в ваших ситуациях архитекторы были экстрасенсами? Алексей КЧто вместо этого предлагается писать в "сотнях и тысячах мест"? абстракцию IRepository.GetMyEnitities() ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 17:53 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
Алексей КViPRosпочему?Потому что проще воспользоваться тем же WPF + нормальный бизнес-фреймворк, чем вводить метаданные + править ядро ВипРоса в случае нетиповых ситуаций. ядро випрос сильнее чем ООП + ОРМ вместе взятые а рожи можно генерить и на ХАМЛ ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 17:58 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
SolYUtorОтвечу сразу обоим. .... очень простой CRUD-софт. это тебе кажется в випрос например смоделировано промышленное предприятия ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 18:00 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, ппц, ядро випрос сильнее парадигмы программирования (ООП) и технологии программирования (ORM). В мемориз однозначно. P.S. Походу випрос еще сильнее Microsoft, президента России и силы притяжения Солнца... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 20:34 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
LelouchViPRos, ппц, ядро випрос сильнее парадигмы программирования (ООП) и технологии программирования (ORM). В мемориз однозначно. P.S. Походу випрос еще сильнее Microsoft, президента России и силы притяжения Солнца... да в випрос заложены более мощные парадигмы чем ООП и ОРМ ОРМ не технология программиирования, а технология проектирования ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 20:41 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, Википедия с вами не согласится, http://ru.wikipedia.org/wiki/ORM ВипРос это мало кому нужное непойми-что, если честно)) P.S. И Вы совершенно не поняли смысла моего поста, программа не может быть сильнее парадигмы. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 20:45 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
А, и судя по сайту www.vipros.ru Вы пока что смоделировали только ведение договоров с заказчиками)) Может хотя бы хватит кричать о универсальности?) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 20:57 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
LelouchViPRos, Википедия с вами не согласится, http://ru.wikipedia.org/wiki/ORM ВипРос это мало кому нужное непойми-что, если честно)) P.S. И Вы совершенно не поняли смысла моего поста, программа не может быть сильнее парадигмы. ты наверное пропустил имоушей ORM также может означать: англ. Object Role Model, рус. Модель ролей объекта — методика концептуального проектирования информационных систем, включающая собственную графическую нотацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:00 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
LelouchА, и судя по сайту www.vipros.ru Вы пока что смоделировали только ведение договоров с заказчиками)) Может хотя бы хватит кричать о универсальности?) да срать мне на сайт ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:01 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, да вам на все "срать", если критикуется ваша система)) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:04 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ну, вот давай и сделаем, что бы хотя б тебе было известно :) да какие нафиг договоры ВИП.Производство (а не ВИПРОС) описывает Промышленое предприятия структурно и процессно, строит оптимальное (минимизирует рсесурсный потенциал для достижения целей по заданным критериям в при ограничениях, а так же рекомендует действия для реструктрузации ограничений ) расписание работы для всех производствено логистических структурных элементов предприятия(групп предприятияй), диспетчирует расписание и перепланирует в реалтайм ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:06 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
LelouchViPRos, да вам на все "срать", если критикуется ваша система)) ты еще ничего не критиковал :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:06 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, если Vipros может смоделировать документооборот например то почему у нее 2! внедрения судя по сайту, по сравнению с "Евфрат" ( http://www.evfrat.ru, единственная о которой я слышал (стоит у заказчика))(4500+ внедрений) ?) Вывода 2: 1) VipRos не способна его смоделировать 2) VipRos делает это гораздо хуже специализированной системы документооборота ) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:07 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, ну для начала вы так и не ответили как можно сравнить программу и парадигму) Критиковал, в споре ORM vs SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:08 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, То есть в топике, посвященном доступу к данным вы подразумевали Роли объекта? которое никак к доступу к данным не относится. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:10 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
Извиняюсь, 4200+ внедрений* ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:14 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
Lelouch, 1. Я "документоооборот" не модлировал и не буду, так как "документ" одно из представлений Процесса, а процессы моделируем :) 2. ВИПРОС рабочее место проектировщика и в нее заложены более мощные парадигмы чем ООП и ОРМ 3. Доступ к данным - техническое решение, при адекватном инструменте об этом вовсе и думать не надо (не это пока не так) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:16 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
LelouchИзвиняюсь, 4200+ внедрений* да лохов море может и 4200 000 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:17 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, Не кричите тогда о универсальности, потому что она у вас не доказана. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:19 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, Понятие "Мощности" парадигмы в студию. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:20 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
LelouchViPRos, Не кричите тогда о универсальности, потому что она у вас не доказана. т.е. что бы доказать я должен промоделировать вес мир? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:26 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
LelouchViPRos, Понятие "Мощности" парадигмы в студию. мощность парадигмы = кардинальное число идей в нее заложенных ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:26 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRosLelouchViPRos, Не кричите тогда о универсальности, потому что она у вас не доказана. т.е. что бы доказать я должен промоделировать вес мир? :) давай че нить промоделируем ( мне ближе предприятия) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:28 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, Хотя бы промоделируйте не только общение с клиентами, а, например, тоже самое что здесьhttp://ru.wikipedia.org/wiki/Microsoft_Dynamics_NAV]это[/url + плановый отдел предприятия + и т.д. Промоделируйте ВСЕ предприятие, а не 1/10 его часть. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:30 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
LelouchИзвиняюсь, http://ru.wikipedia.org/wiki/Microsoft_Dynamics_NAV да там дебилизм полный типа "управление складами" :) склад не автомобиль :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:37 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, Дибилизм пока у вас, с универсальностью. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:37 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, управляет ВСЕМ предприятием и ВСЕМИ его ресурсами по заданным Политикам управления ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:38 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
во времени и в пространствах(юридических, топологических, ...) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:39 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, нет не управляет, например, рассчет ЗП работникам судя по единственной доступной конфигурации ВНЕ его возможностей))) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:39 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
LelouchViPRos, Дибилизм пока у вас, с универсальностью. вот давай ты возьми это УГ а я ВИПРОС и решим каую нить стоящую задачку для предприятия ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:40 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
LelouchViPRos, нет не управляет, например, рассчет ЗП работникам судя по единственной доступной конфигурации ВНЕ его возможностей))) ну начисления и счас можно, а удержаний нет там не было заявлено цель этой конфигурации - Планирование и Диспетчеризация Ресурсов Предприятия для достижения Целей ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:41 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, не собираюсь я это брать, дибилизм в крике о универсальности, которой не наблюдается. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:42 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, у вас других нет на сайте, без удержаний не интересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:43 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
Lelouch, н уты дурной, за это заплачено 76 000 000 р а ты не хошь ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:43 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
LelouchViPRos, у вас других нет на сайте, без удержаний не интересно. я могу тебе подарить с исходниками с удержаниями и всякими пенс фондами и т.д. токо на дельфи ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:44 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
в придачу могу подарить и бухгалтерию до баланса и всех 5 форм и всякие оптово рознияные торговли регресси ви кредитоспособность и другую туфту ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:47 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, Меня слабо интересуют исходники (но вообще то мне почти все равно на каком языке, можете прислать, пойму), 7 600 000 это оооочень мало, за биллинг пользователей водоканала нам заплатили около 10 млн. ) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:47 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
Lelouch, ты зачем съел мой нуль??? 76 000 000 и я не ВЫ а Я :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:48 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
это фигня уже забодала есть тут прогеры? в чем дело? Произошла ошибка. Администрация сервера будет извещена об этом. Попробуйте повторить ваш запрос еще раз. Мы будем благодарны, если вы сможете прислать нам дополнительную информацию, о том как произошла эта ошибка. Feedback форма ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:49 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, да, извините, съел 0) В скайпе отвлекают >< Ладно, спор не интересен, пока нет конфигураций под все отделы предприятия)) Спокойной ночи, мне завтра первый день работать после отпуска >< ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:54 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
Lelouch, спи а я пойду винца куплю, а окончается кянти сраное ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:57 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
и нет у меня цели промоделировать "отделы" отдел - Процессор агрегатный обычный , а он у мну промоделирован вдоль и поперек :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 21:59 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, Напоследок у МС Динамикс 317 тысяч внедрений, у вас ~10, поесть >>317000 - 10 = идиоты)) Удачи и дальше считать платформу универсальной) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 22:02 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
Lelouch, ну я ж только сделал :) идет внедрение в 3 больших заводах в одном почти готово, т.е.промоделировали до винтиков одно производство и начинается внедрение полностью для завода в холдинге внедряется логистика меж сотен предпритиями - кооперация + закупки и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 22:23 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, 1) а теперь представим, что одному из заводов потребовалось автоматизировать работу, каких либо контролеров. Предполагается что каждый конролёр носит с собой планшет на ОС Android, что Вы будете делать, переписывать ваш крутой толстый клиент на Java?:) 2) У одного предприятия оказалось 2 филиала, но заказчик хочет хранить все данные в одной БД, вы выпустите сервер СУБД в интернет, нарушая рекомендации по безопасности? Это пара ограничений, вытекающих из архитектуры 3) Еще раз повторю, смоделируйте все предприятие, а не только его часть, тогда и поговорим. P.S. Насколько помню у вас 2 звена. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 22:41 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
Lelouch, дурной ты и вправда КАКОЙ НАФИГ ЗАКАЗЧИК??? как он может ХОТЕТЬ????? мы его МОДЕЛИРУМ, а он ИШАК и должен платить ты еще не спишь? а тоя взял кянти могу ще лялял ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 23:16 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
а планшет да пригодится ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 23:17 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, вообще то заказчик платит за то что хочет получить) ViPRosКАКОЙ НАФИГ ЗАКАЗЧИК??? как он может ХОТЕТЬ????? мы его МОДЕЛИРУМ, а он ИШАК Все ясно, если заказчик хочет то что вы не можете смоделировать - он ишак)) P.S. Клиент всегда прав, не слышали о таком?) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 23:39 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
LelouchP.S. Клиент всегда прав, не слышали о таком?) да ты лчше поспи клиент му**ло с деньгами что ему дашь то он и схавает потому что ему неоткуда больше взять то что ты предлагаешь кончено если ты че то педлагаешь а не играешь в ООП ХУЙОП и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 23:43 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRos, 1) Вы пьяны) 2) За 76 млн он точно способен заказать систему под ключ, а не купить нечто с кучей ограничений) 3) Заказчик может быть кем угодно, но если он потребует чтобы система прыгала - вы будете обеспечивать чтобы она прыгала, а не пояснять что ваше гениальное ядро может только ползать или летать ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 23:48 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
LelouchViPRos, 1) Вы пьяны) 2) За 76 млн он точно способен заказать систему под ключ, а не купить нечто с кучей ограничений) 3) Заказчик может быть кем угодно, но если он потребует чтобы система прыгала - вы будете обеспечивать чтобы она прыгала, а не пояснять что ваше гениальное ядро может только ползать или летать ;) ты не въезжаешь можно было и 176 000 000 это ты должен тому козлу доказать что он без этой истемы профукает 100 раз больше и нифига он не закажет что б прыгала, ты ему советуешь что бы она летала и все ну и немного ходила по воде если уж невмоготу ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 23:56 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRosLelouchViPRos, 1) Вы пьяны) 2) За 76 млн он точно способен заказать систему под ключ, а не купить нечто с кучей ограничений) 3) Заказчик может быть кем угодно, но если он потребует чтобы система прыгала - вы будете обеспечивать чтобы она прыгала, а не пояснять что ваше гениальное ядро может только ползать или летать ;) ты не въезжаешь можно было и 176 000 000 это ты должен тому козлу доказать что он без этой истемы профукает 100 раз больше и нифига он не закажет что б прыгала, ты ему советуешь что бы она летала и все ну и немного ходила по воде если уж невмоготу А он говорит, что за 75 млн ему тут соседняя фирма предложила тоже что и вы, но прыгающее) И остаетесь вы у разбитого корыта)) Вы пока что не MS, способное посылать запросы пользователей) Я соглашусь, когда вы сильно распространены, как система "Город" например, вы можете относится к заказчикам как к кому угодно)) Но пока у вас ~10 внедрений так себя вести - себе дороже))) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2012, 00:01 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRosспи давай А вы - прекращайте пить) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2012, 00:02 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRosспи давай не тыкайте мне, я вроде себе этого не позволяю) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2012, 00:04 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
Lelouch, ну я ж тя люлю а ты мну нет потому я тыкаю а ты выкаешь ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2012, 00:45 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
LelouchViPRosпропущено... ты не въезжаешь можно было и 176 000 000 это ты должен тому козлу доказать что он без этой истемы профукает 100 раз больше и нифига он не закажет что б прыгала, ты ему советуешь что бы она летала и все ну и немного ходила по воде если уж невмоготу А он говорит, что за 75 млн ему тут соседняя фирма предложила тоже что и вы, но прыгающее) И остаетесь вы у разбитого корыта)) Вы пока что не MS, способное посылать запросы пользователей) Я соглашусь, когда вы сильно распространены, как система "Город" например, вы можете относится к заказчикам как к кому угодно)) Но пока у вас ~10 внедрений так себя вести - себе дороже))) ну я ж не один я гастарбайтер мне плятят 180 000 в месяц до налогв и я пашу ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2012, 00:46 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ате внедряют продают и т.д. вотзакончу напищ=шу что нить другое для души ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2012, 00:47 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
17-77Алексей КАрхитектору стоит почуствовать себя виноватым. в ваших ситуациях архитекторы были экстрасенсами?Да. Это часть их профессии. 17-77Алексей КЧто вместо этого предлагается писать в "сотнях и тысячах мест"? абстракцию IRepository.GetMyEnitities()Это то, о чём говорил SolYUtor. Возможно существенное снижение производительности. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2012, 05:56 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
ViPRosядро випрос сильнее чем ООП + ОРМ вместе взятыеСудя по представленным картинкам это не так. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2012, 05:59 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
Алексей КЭто то, о чём говорил SolYUtor. Возможно существенное снижение производительности. производительность на уровне систем реального времени нужна не всегда (нужна не абы какая, а достаточная в некоторых заданных условиях), и для этого используются совсем другие средства, и всяким ORM там делать, думаю, будет нечего вместо этого предлагается уменьшить гибкость, и в случае чего тратить недели и месяцы на доработки ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2012, 08:01 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
17-77производительность на уровне систем реального времени нужна не всегда (нужна не абы какая, а достаточная в некоторых заданных условиях), и для этого используются совсем другие средства, и всяким ORM там делать, думаю, будет нечегоПо сравнению с сетевым пингом затратами на ORM как правило можно принебречь. 17-77вместо этого предлагается уменьшить гибкость, и в случае чего тратить недели и месяцы на доработкиНормальный кодогенератор + ORM ( поддерживающий LINQ-2-SQL, HQL или кому что нравится ), уже сам по себе является универсальным репозитарием на все случаи жизни. Лепить поверх этого ещё одну абстракцию глупо. SolYUtor об этом уже говорил. Мы ходим по кругу. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2012, 08:39 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
Алексей КПо сравнению с сетевым пингом затратами на ORM как правило можно принебречь. я вас не очень понял, т.е. создание объектов ORM, маппинг это фигня, а создать экземпляр класса и преобразовать к интерфейсу - это долго? Алексей КНормальный кодогенератор + ORM уже сам по себе является универсальным репозитарием на все случаи жизни. Лепить поверх этого ещё одну абстракцию глупо глупо дублировать код, глупо полагатся на пафосные экстрасенсорные способности (предвидеть абсолютно все ситуации), глупо ставить себя в зависимость от некоторой конкретной реализации, которую в будущем возможно придется заменить более современным/надежным/подходящим средством, и покажите мне человека, который знает (т.е. сталкивался на практике) абсолютно все плюсы и минусы, возможности основых используемых ORM, это же ведь ему позволит сделать правильный выбор ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2012, 11:07 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
17-77глупо дублировать код, глупо полагатся на пафосные экстрасенсорные способности (предвидеть абсолютно все ситуации), 90% кода по работе с бд используется один раз. Остальное можно запихнуть в QueryObject. 17-77 глупо ставить себя в зависимость от некоторой конкретной реализации, которую в будущем возможно придется заменить более современным/надежным/подходящим средством С нетерпением жду вашего рассказа, как вы легко и просто, потратив полдня замените свою реализацию на MongoDB. 17-77 и покажите мне человека, который знает (т.е. сталкивался на практике) абсолютно все плюсы и минусы, возможности основых используемых ORM, это же ведь ему позволит сделать правильный выбор Это называется опыт. Предвидеть необходимость постраничной выборки ( и ограничений на размер выборки в общем) - не ахти какое знание. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2012, 11:20 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
17-77я вас не очень понял, т.е. создание объектов ORM, маппинг это фигня, а создать экземпляр класса и преобразовать к интерфейсу - это долго?Это к тому, что сам факт использования ORM мало влияет на производительность. Вопрос в том как он используется. 17-77Алексей КНормальный кодогенератор + ORM уже сам по себе является универсальным репозитарием на все случаи жизни. Лепить поверх этого ещё одну абстракцию глупо глупо дублировать кодГде я предлагал дублировать код? 17-77глупо полагатся на пафосные экстрасенсорные способности (предвидеть абсолютно все ситуации)Если вернуться к Вашему примеру, можно было найти выход и с имеющейся архитектурой. Было бы желание. Если там у вас кто-то чего-то не смог - это не значит что это невозможно. "Береженого Бог бережет - бормотала монашка, одевая на свечку второй презер...в" (с) Намерено идти по пути "N+1 запрос" ( или городить кэш второго уровня ) из-за лишней абстракции ради какой-то неуверенности в завтрашнем дне на мой взгляд нерационально. 17-77глупо ставить себя в зависимость от некоторой конкретной реализации, которую в будущем возможно придется заменить более современным/надежным/подходящим средствомГлупо иметь инструмент и не использовать все имеющиеся возможности. 17-77и покажите мне человека, который знает (т.е. сталкивался на практике) абсолютно все плюсы и минусы, возможности основых используемых ORM это же ведь ему позволит сделать правильный выборПросто надо иметь некоторый кругозор, не более того. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2012, 11:24 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
SolYUtor90% кода по работе с бд используется один раз. Остальное можно запихнуть в QueryObject. Алексей КГде я предлагал дублировать код? собственно предлагали в том месте, где надо избавиться от абстракции с репозиторием что насчет выборки с джоинами, в двух местах программы, с разными условями where что насчет сохранения объектов из двух мест с какой-то пред-обработкой SolYUtorС нетерпением жду вашего рассказа, как вы легко и просто, потратив полдня замените свою реализацию на MongoDB. как нибудь посмотрю что это SolYUtorЭто называется опыт. Предвидеть необходимость постраничной выборки ( и ограничений на размер выборки в общем) - не ахти какое знание. вы умеете абстрагироваться? это был элементарный пример, а ситуаций бывают разные Алексей КЭто к тому, что сам факт использования ORM мало влияет на производительность. Вопрос в том как он используется. все равно не очень понятно, использовать ORM напрямую, либо создать класс/интерфейс обертку и обращаться к ORM внутри - где здесь заметное уменьшение производительности, создание экземпляра? преобразование к интерфейсу? лишний уровень в стеке вызовов? это все становиться заметным по сравнению с сетевым пингом? можно пример? Алексей КНамерено идти по пути "N+1 запрос хм, не знаю как в MongoDB, в EF есть Include, а в гибернейте Fetch, все спокойно достается заранее и то что требуется, отсоединяется и возвращается, интересно стало как в сервисной архитектуре вы будете через xml передавать отслеживаемые сущности с кэшем второго уровня тоже не понятно, насколько я понял у вас был какой-то дикий пример, который вы забыть не можете, это относится к сетевому пингу? SolYUtorЭто называется опыт. Алексей КПросто надо иметь некоторый кругозор, не более того. кругозора мало, чтобы не ударить в грязь лицом в любой ситуации, нужны глубокие знания, вплоть до того, что EF упадет при обработке 32561 записи в одной транзакции с опытом приходит только часть, прикиньте самостоятельно сколько проектов надо сделать, чтобы всесторонне попробовать каждую возможность хотя бы одного инструмента, и сколько времени надо на это потратить, экстрасенсом быть выгодней ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2012, 12:58 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
17-77кругозора мало, чтобы не ударить в грязь лицом в любой ситуации, нужны глубокие знания, вплоть до того, что EF упадет при обработке 32561 записи в одной транзакции с опытом приходит только часть, прикиньте самостоятельно сколько проектов надо сделать, чтобы всесторонне попробовать каждую возможность хотя бы одного инструмента, и сколько времени надо на это потратить, экстрасенсом быть выгодней не опыта, ни кругозора у них нет гуглисты они ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2012, 13:36 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
17-77, могу вас лишь поздравить с началом долго пути. :) Вы уже пришли к шаблонам, теперь осталось встань на вторую ступень - понимание, что контекст применения шаблонов и принципов весьма ограничен. И зачастую они противоречат друг-друг. Скажем, вам приходилось сталкиваться с проблемой SRP vs DRY? А это действительно проблема, и увы, ее часто разрешают в пользу DRY. В общем, как говорил Грег Янг: Greg YoungDeveloper have mental disorder. They have a tendency to attempt to solve specific problems with general solutions. This leads to coupling and complexity. Instead of being general, code should be specific. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2012, 15:28 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
SolYUtor17-77, могу вас лишь поздравить с началом долго пути. :) Вы уже пришли к шаблонам, теперь осталось встань на вторую ступень - понимание, что контекст применения шаблонов и принципов весьма ограничен. И зачастую они противоречат друг-друг. Скажем, вам приходилось сталкиваться с проблемой SRP vs DRY? А это действительно проблема, и увы, ее часто разрешают в пользу DRY. В общем, как говорил Грег Янг: Greg YoungDeveloper have mental disorder. They have a tendency to attempt to solve specific problems with general solutions. This leads to coupling and complexity. Instead of being general, code should be specific. тупой твой янг у кого есть опыт тот видит общее решение спецрешения делаются при неустранимых ограничениях (финансы, время, жадность,...) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2012, 15:56 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
17-77SolYUtor90% кода по работе с бд используется один раз. Остальное можно запихнуть в QueryObject. Алексей КГде я предлагал дублировать код? собственно предлагали в том месте, где надо избавиться от абстракции с репозиторием что насчет выборки с джоинами, в двух местах программы, с разными условями whereСвойство IQueryable<> + запросы с разными where из него? 17-77что насчет сохранения объектов из двух мест с какой-то пред-обработкойВо всех уважающих себя ормах есть механизм валидации объектов перед физическим сохранением в БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2012, 05:58 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
17-77Алексей КЭто к тому, что сам факт использования ORM мало влияет на производительность. Вопрос в том как он используется. все равно не очень понятно, использовать ORM напрямую, либо создать класс/интерфейс обертку и обращаться к ORM внутри - где здесь заметное уменьшение производительности, создание экземпляра? преобразование к интерфейсу? лишний уровень в стеке вызовов? это все становиться заметным по сравнению с сетевым пингом? можно пример?Говорю же, обилие мелких запросов. 17-77Алексей КНамерено идти по пути "N+1 запрос хм, не знаю как в MongoDB, в EF есть Include, а в гибернейте Fetch, все спокойно достается заранее и то что требуется, отсоединяется и возвращается,Придётся или тянуть всех "детей", или репозитарий распухнет от обилия методов и логики фильтрации детей, которой не должно быть в репозитарии по определению. 17-77интересно стало как в сервисной архитектуре вы будете через xml передавать отслеживаемые сущностиА никак :-) Традиционно, в сессии сохранения делается Attach сущностям, требующим сохранения/удаления. Ну или "лишний" запрос на выбор этой сущности из БД + изменение её свойств. Потом сохранение. Хотя, есть LINQ-Over-WCF, может там что для этого есть. 17-77кругозора мало, чтобы не ударить в грязь лицом в любой ситуации, нужны глубокие знания, вплоть до того, что EF упадет при обработке 32561 записи в одной транзакцииУ меня он падал на ~5000 записей. :-) 17-77с опытом приходит только часть, прикиньте самостоятельно сколько проектов надо сделать, чтобы всесторонне попробовать каждую возможность хотя бы одного инструмента, и сколько времени надо на это потратить, экстрасенсом быть выгоднейНу что поделать, такова нелёгкая судьба архитекторов. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2012, 06:19 |
|
Iclude в NHibernate
|
|||
---|---|---|---|
#18+
Горячая ветка :D Быть может кто знает ответ на этот вопрос ? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2012, 20:47 |
|
|
start [/forum/search_topic.php?author=anatul&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
121ms |
get tp. blocked users: |
1ms |
others: | 441ms |
total: | 653ms |
0 / 0 |