我正在学习WCF和WPF。我通过做样本项目学到了很多东西,但是我把所有东西放在一起都很困难。如果我可以解释我对正确的WCF / WPF结构的理解并邀请其他人确认或纠正我的想法,这将有所帮助。以下是对我希望下一个项目如何运作的非常广泛的描述:
我的持久数据将存储在SQL Server数据库中。我将创建一个WCF服务库,它充当数据库的接口,解决安全问题并将关系数据重新构建为面向对象的实体模型。我的应用程序将通过WCF服务将数据读入一个内存结构,该内存结构可能会根据我的应用程序的需要进行一些定制,但基本上由我的数据模型中的每个实体组成一个ObservableCollection。因为数据将存储在ObservableCollections中,所以我将能够使用事件过程来响应触发业务流程的数据更改。简单的用户界面元素将直接绑定到集合。更复杂的用户界面元素(如TreeView)将需要另一个层,称为PresentationModel或ViewModel。对于TreeView,TreeView将直接绑定到PresentationModel,而PresentationModel将直接绑定到集合。
我是否正确描述了一切?
-TC
答案 0 :(得分:3)
你写的东西在技术上没有任何错误。
感觉不舒服的事情:
......解决安全问题......
让我感到害怕,因为它至少对我来说意味着你没有安全问题。我会把它说成是
提供了一个集中式系统,用于对来自所有接口的数据进行身份验证和授权
答案 1 :(得分:2)
我肯定会使用MVVM模式,允许ViewModel公开您的UI绑定的集合和属性,您似乎已经从您所描述的内容中掌握了该模式。
答案 2 :(得分:1)
您的数据层真的需要WCF吗?你有没有看过实体框架?
简单的用户界面元素将直接绑定到集合。
我建议稍微反对上述情况。一个体面的模型是MVVM(Model-View-ViewModel)模式。考虑到您的ListViews将包含在ViewModel中,听起来您已经阅读了一些相关内容。我还将您的原始数据模型暴露给ViewModel,并让您的View绑定到该模型。因此,对于原始数据模型,请使用它们,就像您打算使用ListViews一样。
除此之外,听起来就像你一样。