Дозвуковой по сравнению с NHibernate

Ваши понятия здесь неправильные.

Каждый раз, когда вы запрашиваете sc.next(), он будет ждать ввода. Если этот вход равен тому, что вы хотите, тогда код будет выполнен.

Вы можете исправить это, сохранив sc.next() в переменной String, а затем сравните его.

Здесь: if (sc.next().equals("1")) запрашивает вход.

Если этот вход 1, тогда код выполняется и --1-- распечатывается. Иначе, он перескакивает на это: if (sc.next().equals("2")). Теперь, если вход 2, выполняется код для печати --2--. Else, он переходит на if (sc.next().equals("3")) и т. Д.

Вы можете исправить это:

  • , сохраняя sc.next() в переменной String, а затем сравнивая его.
  • , используя блок блокировки для сравнения входа.
74
задан Cherian 11 April 2009 в 14:32
поделиться

15 ответов

Меня задают этот вопрос много, и действительно он сводится, насколько Вы хотите играть. Я не могу сказать Вам, как масштабирование RE SubSonic комментариев разрушительного Chris Cyvas было - и я отвечал на них с тех пор: (.

соглашение - мудро перфектом, SubSonic масштабируется очень приятно. С точки зрения роста проекта - ЛЮБОЙ инструмент, который Вы используете, потребует Вашего внимания. Даже NHibernate.

я записал сообщение о том, как использовать шаблон Репозитория с DI (поскольку Вы будете с NHIb или любым инструментом в этом отношении) с SubSonic 2.1:

http://blog.wekeroad.com/blog/subsonic-writing-decoupled-testable-code-with-subsonic-2-1/

я также записал сообщение на работе SubSOnic:

http://blog.wekeroad.com/blog/subsonic-scaling/

Hope это помогает.

84
ответ дан 24 November 2019 в 11:49
поделиться

Совет я вошел в тему, состоит в том, что Дозвуковой не увеличивается для обработки более сложных сценариев и поэтому если Вы будете идти по той дороге, то Вы закончите с заданием, пытающимся подкачивать к более усовершенствованному ORM.

я таким образом больше интересуюсь использованием NHibernate для сложных случаев, замка Active Record для более простых случаев и слежу за Быстрым NHibernate, который должен сделать NHibernate отображением намного легче (особенно, как только основанная на соглашении поддержка отображения улучшена).

0
ответ дан Colin Jack 24 November 2019 в 11:49
поделиться

Охватите Несоответствие Импеданса!

проверка это

:)

Или не делают. Если Вы хотите производительность, сделайте это сами. Если Вы хотите это быстрый и легкий, пойдите с NHibernate и ActiveRecord. Если Вам нравится притворяться, что Вы на самом деле знаете то, что продолжается на уровне доступа к данным, используйте NHibernate и сидите с XML целый день для получения многих многим движение... Или просто... допустите ошибку.. сделайте это сами - ADO.NET FTW!

2
ответ дан Qerim Shahini 24 November 2019 в 11:49
поделиться

Рассмотрите свою команду и размер проекта при рассмотрении ActiveRecord.

, По моему опыту, ActiveRecord является абстракцией сверху NHibernate, который начинает протекать как решето при попытке более сложных сценариев.

, Если Вы имеете умеренно к в большой степени сложной или непростой схеме, палке с NHibernate. Можно нарезать и поставить на карту его к близкому совершенству.

другое место, Вы могли бы попасть в беду, - при необходимости в умеренно сложном запросе. ActiveRecord скрывает большую реализацию NHIBERNATE..., но Вам будет нужен он для сложного запроса, который станет очень трудным, если Вы будете абсолютно незнакомы с HQL. Будьте осторожными членами команды, только взламывают далеко в краях вместо того, чтобы изучить NHibernate и HQL.

3
ответ дан ignu 24 November 2019 в 11:49
поделиться

Мы загрузились с дозвуковым и теперь пытаемся оценить, если мы собираемся переключиться на nhibernate теперь, когда мы в болевых точках дозвуковых.

Наша другая опция состоит в том, чтобы создать некоторый второй план, где мы используем дозвуковой, чтобы запросить и загрузиться, произвольные объекты с их "выполняются как введенный список" функциональность, которая делает основанное на имени отображение прочь sql оператора стиля произвольного linq. Или попытаться воссоздать часть его в nhibernate и осуществить рефакторинг остальных.

, Таким образом, я говорю дозвуковой, имеет смысл в небольших приложениях, но обслуживание на дозвуковых приложениях становится довольно волосатым, у нас есть особенно трудные времена с наложением кода доступа, и пред/сообщение в коде инициировал события. Для активного рекордного шаблона, дозвукового, определенно 80% там, но делает somethings облупленным способом и мешают Вам иметь любой реальный контроль над Вашей иерархией наследования, так как каждый класс должен наследовать таблицу для возвращения к той таблице.

3
ответ дан DevelopingChris 24 November 2019 в 11:49
поделиться

Снова немного вне темы, но я буду второй замок ActiveRecord - вместо того, чтобы использовать базу данных в качестве Вашей модели (Дозвуковой подход), или провести часы в спагетти XML (подход NHibernate) Вы просто помещаете атрибуты в свои образцовые классы.

можно даже добраться, ActiveRecord к генерируют схему базы данных для Вас.

Мы использовали этот подход к довольно многим проектам теперь, и преимущества следующие:

  • путь Простого обновления к NHibernate при необходимости в будущем
  • Поддержка простые модели наследования - например, Автомобиль-> Механизм
  • схема, которую это генерирует, наиболее вероятна, как Вы создали бы его так или иначе, таким образом, можно провести больше времени, создавая приложение вместо того, чтобы волноваться о хранении модели/дб в синхронизации.
4
ответ дан BigJump 24 November 2019 в 11:49
поделиться

Я думаю, что Вы в значительной степени закрепили его. Дозвуковой генерирует код, таким образом, Ваши бизнес-объекты будут отражающими из Вашей структуры базы данных. использование nHibernate, отображающее файлы, которые отображают Ваши бизнес-объекты на базу данных так Ваши объекты, может быть структурировано однако, Вам нравится.

, Насколько большой из проекта это? Будет необходимая долговременная поддержка? Эффективность затрат Дозвукового движения для возмещения каких-либо потенциальных проблем масштабирования?

3
ответ дан Bob 24 November 2019 в 11:49
поделиться

Я записал сообщение в блоге недавно о.NET ORMs, который имеет Дозвуковой в ней, и ActiveRecord. На основе моего опыта это зависит от того, что проект делает, Дозвуковые работы намного лучше, если Вы происходите из среды SQL, но NHibernate имеет больше ontop его. ActiveRecord хорош для меньших проектов, я не убежден, что это быстрее для больших проектов, чем придерживание NHibernate.

7
ответ дан Chris S 24 November 2019 в 11:49
поделиться

Я не могу дать хорошее сравнение, поскольку я на самом деле еще не использовал NHibernate на проекте, но я использовал SubSonic и был очень доволен им. До сих пор я не поразил главных препятствий при использовании его.

Выезд это сообщение от Rob Conery, одного из создателей SubSonic. Он говорит о том, как разъединить Ваш код SubSonic от остальной части приложения. Он даже упоминает то, что эта архитектура позволила бы Вам позже выгрузить SubSonic для некоторого другого уровня доступа к данным, такого как NHibernate или LINQ к SQL.

я знаю, что на самом деле не отвечал на Ваш вопрос, но я надеюсь, что это все еще помогает.

7
ответ дан Michael Paladino 24 November 2019 в 11:49
поделиться

Можно рассмотреть рассмотрение Быстрого NHibernate; это делает управление NHibernate бриз. Не уверенный, как трудный это должно было бы перейти существующая схема, но если Вы создаете новое приложение, хорошо определить модель предметной области и генерировать базу данных в в значительной степени любом сервере БД, о котором можно думать. От чтения других комментариев здесь, я думаю, что Быстрый NHibernate приносит NHibernate наравне с SubSonic для простоты конфигурации.

9
ответ дан 24 November 2019 в 11:49
поделиться

Немного вне темы, но в том же духе. Вы посмотрели замок ActiveRecord , он записан сверху NHibernate и устраняет необходимость провести время, создавая отображения XML от кода до базы данных. Как NHibernate можно структурировать объекты области, как Вы хотите и позже генерируете схему базы данных от этой структуры.

Используя ActiveWriter, внесенный инструмент, можно легко отобразиться от базы данных до объектов области.

13
ответ дан FryHard 24 November 2019 в 11:49
поделиться

Поскольку, что его ценность... У меня была возможность использовать обе технологии вполне немного больше начиная с задавания этого вопроса. И я должен остаться который, если эти технологии Вы выбираете вопросы очень мало. Верный NHibernate позволяет Вашим предприятиям быть немного менее связанными с Вашей структурой базы данных, но я все еще нахожу, что существует много случаев, где все еще необходимо изогнуться к желанию базы данных.

, По-моему, единственный истинный путь это к полностью отдельному Ваша Модель предметной области от Вашей Модели базы данных должна записать Ваше собственное DTOS (по существу POCOs для того, чтобы раздать данные) и затем отобразить их назад на Ваше предпочтительное ORM в Вашем слое данных. Но в большинстве случаев, этот подход будет меня больше стычки, чем ее ценность.

31
ответ дан Dan 24 November 2019 в 11:49
поделиться

Я рекомендовал бы SubSonic, если Ваш проект работает с представлением ActiveRecord, что база данных является Вашей моделью. Вы получите один класс на таблицу, и все просто волшебно работает. Можно, конечно, настроить и переопределить вещи, но если бы Вы (или Ваш проект) существенно не соглашаетесь с подходом класса на таблицу, я посмотрел бы на NHibernate, так как это запускает с более сложного (но более гибкий) подход отображения Вашей модели предметной области к Вашей базе данных.

, Если Вы используете относительно простую базу данных, это находится под Вашим контролем (как в, можно измениться, столбцы, не отправляя восемь форм подразделению базы данных контролируют наблюдательный совет), я рекомендовал бы запуститься с SubSonic и переместиться в NHibernate, если SubSonic не удовлетворяет потребности.

45
ответ дан Jon Galloway 24 November 2019 в 11:49
поделиться

Я оценил обоих, и я полагаю, что не было бы справедливо рекомендовать один по другому, не понимая, каковы Ваши цели. В Вашем вопросе Вы заявили различия хорошо, и я полагаю что потребности быть Вашим решающим фактором. Лично я использовал обоих и продолжу использовать обоих в зависимости от проекта.

  • NHibernate является моим выбором для проектов более широкого масштаба потому что его использование легкого POCO's. Если бы я должен был когда-либо выключать свой ORM, "Я полагаю, что" это было бы намного легче осуществить рефакторинг.
  • SubSonic является моим выбором, когда у меня есть проект меньшего масштаба. Я полагаю, что производительность мудрый SubSonic масштабируется хорошо. Однако я чувствую себя сильно связанным с ним, потому что это так выгравировано в моем проекте. В меньшем проекте я могу все еще выключить его, потому что кодовая база является столь же небольшой, и это действительно помогает мне сорвать код, как рекламируется.
5
ответ дан Jamey McElveen 24 November 2019 в 11:49
поделиться

Я считаю, что вам следует придерживаться того, что вы можете использовать лучше всего. Конечная цель - производительность и качество кода. Если вы знакомы с SubSonic, придерживайтесь его, а если вы знаете NHibernate в глубине, придерживайтесь NHibernate. Это очень субъективный вопрос. Вы также должны учитывать тот факт, что у вашего члена команды есть опыт. Если вы хороши в этом, вы сможете легко поддерживать его.

Я видел большие проекты, использующие SubSonic, тогда как NHibernate уже известен и широко используется.

Решение о выборе ORM не зависит исключительно от в самой ORM.

2
ответ дан 24 November 2019 в 11:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: