【问题标题】:Please Confirm My Understanding of WCF/WPF Structure请确认我对 WCF/WPF 结构的理解
【发布时间】:2010-11-26 07:08:27
【问题描述】:

我正在学习 WCF 和 WPF。通过做示例项目,我学到了很多东西,但是我在把所有东西放在一起时遇到了麻烦。如果我能解释我对正确 WCF/WPF 结构的理解并邀请其他人确认或更正我的想法,那将有所帮助。以下是关于我希望我的下一个项目如何工作的非常广泛的描述:

我的持久数据将存储在 SQL Server 数据库中。我将创建一个 WCF 服务库,它充当数据库的接口,解决安全问题并将关系数据重铸为面向对象的实体模型。我的应用程序将通过 WCF 服务将数据读取到一个内存结构中,该结构可能会根据我的应用程序的需要进行一些定制,但基本上我的数据模型中的每个实体都会包含一个 ObservableCollection。因为数据将存储在 ObservableCollections 中,所以我将能够使用事件过程来响应触发业务流程的数据更改。简单的用户界面元素将直接绑定到集合。更复杂的用户界面元素,如 TreeView,将需要另一个层,称为 PresentationModel 或 ViewModel。在 TreeView 的情况下,TreeView 将直接绑定到 PresentationModel,PresentationModel 将直接绑定到集合。

我是否正确描述了所有内容?

-TC

【问题讨论】:

    标签: wpf wcf


    【解决方案1】:

    您所写的内容在技术上没有任何问题。

    感觉不对的事情:

    ...解决安全问题...

    让我害怕,因为这至少对我来说意味着您不会遇到安全问题。我会把它表述为

    为来自所有接口的数据提供了一个集中的认证和授权系统

    【讨论】:

    • 谢谢,罗伯特。在我的学习曲线上,很容易犯大的概念错误,所以当有人能证实我在正确的轨道上时,我很感激。
    【解决方案2】:

    我肯定会使用 MVVM 模式,允许 ViewModel 公开你的 UI 绑定的集合和属性,从你所描述的内容来看,你似乎掌握了该模式。

    【讨论】:

    • MVVM = "模型视图视图模型"。我确实掌握了这种模式,但只是掌握了一点——我仍在为绑定我的 ViewModel 的细节而苦苦挣扎,但我最终会弄明白的。
    • 查看 INotifyPropertyChanged,这将允许您的 ViewModel 在属性发生更改时自动通知您的视图。
    【解决方案3】:

    您的数据层真的需要 WCF 吗?你有没有研究过实体框架?

    简单的用户界面元素将直接绑定到集合。

    我建议稍微反对上述内容。一个不错的模型是 MVVM(模型-视图-视图模型)模式。考虑到您的 ListViews 将包含在 ViewModel 中,听起来您已经阅读了一些关于此的内容。我也会让你的原始数据模型暴露给 ViewModel,并让你的 View 绑定到它。因此,对于您的原始数据模型,请像使用 ListViews 一样使用它们。

    除此之外,听起来你很准。

    【讨论】:

    • 关于 WCF 和实体框架——我现在意识到我将这两个概念组合在一起并将它们都称为“WCF”。看了一点,我的理解是Entity Framework定义了实体模型,WCF提供了数据源的接口。一起使用时,WCF 会公开一个遵循 EF 实体模型的数据结构。我的意图是同时使用 EF 和 WCF。目前,我不确定 WCF 的替代品是什么,或者我将如何选择它们。关于将 MVVM 用于原始数据——这听起来像是极好的建议。谢谢!
    猜你喜欢
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    • 2012-01-27
    相关资源
    最近更新 更多