архитектура nhibernate - PullRequest
       5

архитектура nhibernate

1 голос
/ 25 января 2011

Здравствуйте, я хочу создать свой первый проект nhibernate.Это будет миграция из проекта winform, связанного со старым доступом к данным без строгого отображения.Проект довольно большой, поэтому я хотел бы иметь хорошую архитектуру с самого начала.

У меня будет слой:

  • Репозиторий: создайте сеанс из nhibernate
  • Модель: объект bean, в основном он состоит из свойств getter / setter с тем же именем в базе данных

Но мне понадобятся некоторые советы, как вы будете обрабатывать операции?Если я хочу создать элемент, должен ли я получить доступ к nhibernate из кода?Или я должен создать уровень бизнес-логики?

По сути, я нашел эту простую архитектуру для бизнес-уровня.http://www.codeproject.com/KB/architecture/NHibernateArchitecture.aspx Что вы чувствуете?

Еще один вопрос, это программа с сильной валидацией (область очков), где должна быть валидация?в проекте winform или на бизнес-уровне?

Ответы [ 2 ]

4 голосов
/ 25 января 2011

Трудно сказать и дать полезные советы, не видя проект и его актуальные проблемы.Это клиент-серверная архитектура, например?Что вы подразумеваете под «довольно большой»?Слишком много разных проектов, чтобы иметь правила, подходящие для всех.

Обычно:

  • В большинстве случаев очень полезно иметь бизнес-уровень.
  • проверка должна быть на бизнес-уровне.Существует также валидация NHibernate и некоторые другие рамки валидации, которые допускают декларативную валидацию.

Самая распространенная ошибка, которую я вижу, начиная с NH, заключается в том, что люди не понимают невежество в отношении постоянства.Это означает, что вы должны написать свою бизнес-логику без доступа к базе данных или NH.Изменения вносятся в сущности, они не «временно», пока они не будут явно применены к базе данных, они неявно сохранятся, когда транзакция будет зафиксирована.Это имеет огромное влияние на код.Во многих случаях нет ни «Store», ни «Update», ни чего-либо еще.

1 голос
/ 25 января 2011

Посмотрите на SharpArchitecture.Это очень хорошая основа для NHibernate.Очень хороший пример того, как все соединить.

http://www.sharparchitecture.net/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...