Должен ли мы разоблачить объект (класс POCO).
да, в противном случае, Что использование сущностей, когда никто не использует
ли хорошо иметь Entity с внутренней защищенной собственностью и собственностью подвергаются в качестве интерфейса.
Всё зависит! внутренние защищенные свойства не представляют проблемы при использовании ORM, но я предпочитаю сокращать внутренние вещи до минимума, потому что мне нравятся объекты, поддерживающие их собственное состояние. интерфейсы являются точными
Объект, созданный для сопоставления, может быть моделью для WPF MVVM.
конечно. Не нужно дублировать их в другой раз. Это то, что неустойчивость существует для
Или мы должны напрямую связывать сущность?
Больше, чем нет, требования к пользовательскому интерфейсу сильно отличаются от настойчивости/businessrules, поэтому будут созданы специализированные ViewModels для UseCases/Views. Однако простое Dataholders как Order class
брошенное в списки может быть связанно непосредственно (например, с помощью DatabindingFactory, чтобы сделать их реализовать INPC)
Там нет контроля, если библиотека возвращает список лица в качестве возврата API. Поэтому каждый может добавлять или удалять в списке. Как я должен держать контроль над этим. Должен ли я создать прокси, полученный из IList, который будет отслеживать его.
Списки только в контейнере с памятью. Пользователь все равно должен пройти через API для сохранения/обновления.
Правильно ли бросить исключение происходит в API или я должен возвращать нуль
, если будут возвращены коллекции, то пустые коллекции гораздо лучше, чем нуль.
Исключения, однако, должны пузыриться, предпочтительно завернутые в собственные ручные исключения. Внесите NHibernate.Exceptions.ISQLExceptionConverter
(например, как NHibernate.Test.ExceptionsTest.MSSQLExceptionConverterExample
) и сконфигурируйте его, например. config.DataBaseIntegration(db => db.ExceptionConverter<MyExceptionConverter>())
Это хорошо каротаж держать в библиотеке
Absolutly. Ведение журнала позволяет отлаживать развернутые приложения. (Свободно). NHibernate уже имеет много логов, встроенных в его использование, если это возможно.
Спасибо jugal ..... – Deepak