Паттерны для приложения с .NET GUI и объектным хранением
От: sergunok  
Дата: 26.07.07 09:31
Оценка:
Добрый день!

Столкнулся с архитектурной проблемой при разработке приложения с использованием
— WPF (для UI)
— объектнойе СУБД db4o (в качестве DAL)

Суть проблемы в следующем.

Так или иначе существуют классы, моделирующие предметную область (Domain).
В идеале они ничего не должны знать про UI и DAL.

Для эффективной связки Domain с UI в случае .NET кроме собственно реализации реакций на команды (сообщения)
необходима прослойка, в которую могут войти:
(1) нотификация об изменения свойств объектов (реализация INotifyPropertyChanged)
(2) ObservableCollection и BindingList для коллекций
(3) возможности копирования состояния объекта для реализации Cancel (Undo)
как для отдельных объектов, так и для коллекций.

Валидацию не включаю — она может быть в Domain.

Все перечисленное должно быть в этой "прослойке", если же эти возможности добавлять
в Domain, то возникает проблема с DAL, поскольку объектному DAL-у все эти возможности и связанные с ними
поля-данные не нужны..

Покопался в интернет, нашел, библиотеку csla. Все вроде как хорошо, но в суловиях объектного хранилища
пришлось бы вести две параллельные версии классов.. Одни — "чистый Domain", другие — Domain c доп.
возможностями (1)-(3)..

В итоге все-таки добавил часть фич, а конкретно (1) и (3) в Domain, но внутренний дискомфорт остался.

Поделитись своим опытом! Как жить-то?

С уважением,
Сергей.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.