2010-11-26 14 views
5

Estoy estudiando WCF y WPF. Aprendí mucho haciendo proyectos de muestra, pero tengo problemas para armar todo. Me ayudaría si pudiera parafrasear mi comprensión de la estructura adecuada de WCF/WPF e invitar a otros a confirmar o corregir mis ideas. Aquí hay una descripción muy amplia de cómo espero que funcione mi próximo proyecto:Confirme mi comprensión de WCF/WPF Estructura

Mis datos persistentes se almacenarán en una base de datos de SQL Server. Crearé una biblioteca de servicios de WCF que sirve como una interfaz para la base de datos, resolviendo problemas de seguridad y refundiendo los datos relacionales en un modelo de entidad orientada a objetos. Mi aplicación leerá datos a través del servicio WCF en una estructura de memoria que podría personalizarse de alguna manera para las necesidades de mi aplicación, pero consistirá básicamente en una ObservableCollection para cada una de las entidades en mi modelo de datos. Debido a que los datos se almacenarán en ObservableCollections, podré usar procedimientos de eventos para responder a los cambios de datos que desencadenan procesos comerciales. Los elementos simples de la interfaz de usuario se unirán directamente a las colecciones. Elementos de interfaz de usuario más sofisticados, como TreeView, requerirán otra capa, llamada PresentationModel o ViewModel. En el caso de TreeView, TreeView se enlazará directamente con PresentationModel y PresentationModel se vinculará directamente a las colecciones.

¿He descrito todo correctamente?

-TC

Respuesta

3

No hay nada técnicamente mal en lo que escribió.

cosas que se sienten fuera:

... para resolver los problemas de seguridad ...

me asusta porque implica, al menos para mí, que va a tener ningún problema de seguridad. Me hubiera expresado como

provideds un sistema centralizado para la autenticación y la autorización a los datos de todas las interfaces

+0

Gracias, Robert. En mi punto en la curva de aprendizaje, es fácil cometer grandes errores conceptuales, por lo que agradezco cuando alguien puede verificar que estoy en el camino correcto. –

1

WCF es realmente necesario para su capa de datos? ¿Has buscado Entity Framework en absoluto?

Elementos simples de la interfaz de usuario se unirán directamente a las colecciones.

Recomendaría ligeramente en contra de lo anterior. Un modelo decente a seguir es el patrón MVVM (Model-View-ViewModel). Parece que ha leído un poco acerca de esto teniendo en cuenta que sus ListViews van a estar contenidas en un ViewModel. También expondré sus modelos de datos brutos a un ViewModel y su View se vinculará a eso. Por lo tanto, para sus modelos de datos brutos, úselos como lo haría con ListViews.

Aparte de eso, parece que eres perfecto.

+0

En cuanto a WCF y Entity Framework, ahora me doy cuenta de que estaba agrupando esos dos conceptos y llamándolos "WCF".Después de leer un poco, entiendo que Entity Framework define el modelo de entidad y WCF proporciona una interfaz para la fuente de datos. Cuando se usan juntos, WCF expone una estructura de datos que sigue el modelo de entidad EF. Mi intención es usar tanto EF como WCF. Por el momento, no estoy seguro de cuáles son las alternativas a WCF, o cómo elegiría entre ellas. En cuanto al uso de un MVVM para los datos brutos, eso suena como un excelente consejo. ¡Gracias! –

2

Definitivamente haría uso del patrón MVVM, permitiría que un ViewModel exponga sus colecciones y propiedades a las que también se une su UI, parece que tiene una idea de ese patrón de acuerdo con lo que ha descrito.

+0

MVVM = "Model View ViewModel". Tengo una idea de ese patrón, pero solo una comprensión: todavía estoy luchando con los detalles de vincular mi ViewModel, pero finalmente lo resolveré. –

+0

Busque en INotifyPropertyChanged, que le permitirá a su ViewModel notificar automáticamente su vista cuando una propiedad ha cambiado. – BenjaminPaul