Пожалуйста, подтвердите мое понимание структуры WCF / WPF - PullRequest
5 голосов
/ 26 ноября 2010

Я изучаю WCF и WPF.Я многому научился, выполняя примеры проектов, но у меня проблемы со сборкой всего.Было бы полезно, если бы я перефразировал свое понимание правильной структуры WCF / WPF и предложил бы другим подтвердить или исправить мои идеи.Вот очень подробное описание того, как я ожидаю, что мой следующий проект будет работать:

Мои постоянные данные будут храниться в базе данных SQL Server.Я создам сервисную библиотеку WCF, которая служит интерфейсом к базе данных, решает проблемы безопасности и преобразует реляционные данные в объектно-ориентированную модель сущностей.Мое приложение будет считывать данные через службу WCF в структуру памяти, которая может быть несколько настроена для нужд моего приложения, но в основном будет состоять из одной ObservableCollection для каждой из сущностей в моей модели данных.Поскольку данные будут храниться в ObservableCollections, я смогу использовать процедуры обработки событий, чтобы реагировать на изменения данных, которые запускают бизнес-процессы.Простые элементы пользовательского интерфейса будут привязаны непосредственно к коллекциям.Для более сложных элементов пользовательского интерфейса, таких как TreeView, потребуется другой уровень, называемый PresentationModel или ViewModel.В случае TreeView TreeView будет привязан непосредственно к PresentationModel, а PresentationModel будет привязан непосредственно к коллекциям.

Правильно ли я все описал?

-TC

Ответы [ 3 ]

3 голосов
/ 26 ноября 2010

Нет ничего технически неправильного в том, что вы написали.

Вещи, которые чувствуют:

... решение проблем безопасности ...

Пугает меня, потому что это подразумевает, по крайней мере для меня, что у вас не будет проблем безопасности. Я бы сформулировал это как

предоставляет централизованную систему для аутентификации и авторизации данных со всех интерфейсов

2 голосов
/ 26 ноября 2010

Я бы определенно использовал шаблон MVVM, позволил бы ViewModel показать ваши коллекции и свойства, которые также привязывает ваш пользовательский интерфейс, вы, кажется, понимаете этот шаблон из того, что вы описали.

1 голос
/ 26 ноября 2010

Действительно ли WCF необходим для вашего уровня данных?Вы когда-нибудь рассматривали Entity Framework?

Простые элементы пользовательского интерфейса будут привязаны непосредственно к коллекциям.

Я бы посоветовал немного против вышесказанного.Достойной моделью для подражания является шаблон MVVM (Model-View-ViewModel).Похоже, вы немного читали об этом, учитывая, что ваши ListViews будут содержаться в ViewModel.Я также хотел бы, чтобы ваши необработанные модели данных были доступны для ViewModel, и ваш View был привязан к этому.Итак, для ваших необработанных моделей данных используйте их так, как вы собираетесь делать с ListViews.

Кроме этого, звучит так, будто вы на месте.

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