Что Microsoft предлагает сделать приложение WPF постоянным? - PullRequest
0 голосов
/ 04 декабря 2011

Я новичок в WPF.Я узнал, что WPF следует шаблону MVC.Моя идея заключалась в разработке нового приложения с использованием WPF и NHibernate, но NHibernate использует шаблон MVVM.Это не совсем соответствует MVC из WPF.Хорошо, есть много «решений», чтобы справиться с этим конфликтом, но для меня это не очень хорошо звучит.

Мой вопрос: есть ли «главный способ» сделать данные настольного приложения WPF постояннымив базе данных SQL-сервера?Что говорит Microsoft?Что ты говоришь?

Ответы [ 2 ]

4 голосов
/ 04 декабря 2011

Ничего.Вы ошибаетесь - это все равно, что спрашивать, что предлагают Mercedes в качестве чистящего материала для автомобиля с использованием определенного типа WINDSHIELD WIPER.

По сути, постоянство - это одна часть приложения, WPF - это презентация, а другая.От того, как вы представляете данные, зависит НОЛЬ.Вы создаете ситуацию с собакой.

Это на самом деле не подходит к MVC из WPF

Как Сомен, который использовал это - это абсолютно так.Всего.

Хорошо, есть много "решений", чтобы справиться с этим конфликтом, но для меня это не очень хорошо звучит.

Узнайте больше об архитектуре.

Существует ли какой-либо "главный способ" сделать данные настольного приложения WPF постоянными в базе данных SQL-Server?

Нет.Так же, как и с любым другим типом приложения - всегда есть компромиссы, поэтому серебряной пули не существует.Таким образом - хорошо - вы должны найти решения, которые требуют опыта.

NHibernate, но NHibernate использует шаблон MVVM

В прошлый раз, когда я проверял, NHibernate был O/ R mapper, который был полностью способен поддерживать несколько различных способов обработки приложений.Итак, это утверждение неверно.

2 голосов
/ 04 декабря 2011

Шаблон, который Microsoft рекомендует в WPF, соответствует шаблону MVVM.Вы можете проверить это во многих статьях блога, но вот хорошая отправная точка:

MSDN Magazine - Приложения WPF с шаблоном проектирования Model-View-ViewModel

ЕслиВы хотите узнать больше о рекомендуемых Microsoft архитектурах, вы можете проверить веб-сайт шаблонов и практик или посмотреть веб-сайт Дэвида Хейдена, на котором есть много отличных снимков экрана.

С точки зрения создания слоя доступа к данным для настольного клиента существует множество подходов.Вот некоторые из них: Шаблон репозитория, Активная запись и прямое использование ORM.В отличие от NHibernate и Entity Framework, шаблон Active Record не основан на POCO.Объекты хранят постоянство внутри себя.Это делает некоторые распределенные и отключенные сценарии более эффективными.Существует тенденция отклонения от шаблона хранилища, которая обобщена в этой статье Ayende:

Ayende - репозиторий - это новый Singleton

В основном, согласно этой статье, ваш объект сеансав NHibernate или объекте DBContext в Entity Framework следуют своего рода шаблону хранилища сами по себе, поэтому добавление слоя хранилища является излишним.

С точки зрения MVVM эти шаблоны и технологии будут жить в Модели.Модель представления будет выступать в качестве посредника - поэтому вы не будете и не должны привязывать представление напрямую к вашим постоянным объектам.

Надеюсь, это полезно!

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