简要介绍WPF

什么是WPF
WPF是Windows Presentation Foundation的简称,顾名思义是专门用来编写程序表示层的技术和工具。

当今的程序除了一些非常小巧的实用工具外,大部分程序都是多层架构的程序,一般至少包含三层:数据层、业务逻辑层和表示层。
这3层的功能大致如下:
  • 数据层:用于存储数据,多由数据库构成,有时候也用数据文件能辅助存储数据。
  • 业务逻辑层:用于根据需求使用计算机程序表达现实的业务逻辑。这一层一般会通过一组服务(Service)向表示层公开自己的各个功能,因为这一层需要与数据层进行交互,所以经常会划分出一个名为“数据访问层”(Data Access Layer,DAL)的子层专门负责数据的存取。
  • 表示层:负责把数据和流程展示给用户看。对于同一组来自业务逻辑层的数据,我们可以选择多种表达方式。除了用于表示数据,表示层还负责展示流程、响应用户操作等。表示层程序也常被成为客户端程序。

WPF的功能就是用来编写应用程序的表示层。业务逻辑层和数据层的开发也有专门的新技术。比如业务逻辑层的新技术是WCF(Windows Communication Foundation)和WF(Windows Workflow Foundation)。
微软平台上用于开发表示层的技术不算少,包括WPF、Windows Forms、ASP.net、Silverlight等。无论使用哪种技术作为表示层技术,程序的逻辑层和数据层都是相同的。

WPF和Silverlight的关系

微软的新一代开发技术框架包括WPF、WCF、WF。WCF的用途是编写分布式应用程序的业务逻辑层,并以网络服务的形式暴露给客户端的服务消费者,基于WCF和Entity Framework的WCF Data Service和WCF RIA Service是微软迄今最佳的数据访问层。WF的主要作用是设计工作流,编程语言正是WPF的界面设计语言——XAML。
微软定义Silverlight是WPF的一个子集,是WPF的网络版。微软新一代手机平台Windows Phone 7采用它来作为开发平台(此前的Windows Mobile系统使用的是简化版的Windows Forms开发平台)。

为什么要学习WPF

只要开发表示层程序就不可避免的要与4种功能性代码打交道:
数据模型:现实世界中事物和逻辑的抽象。
业务逻辑:数据模型之间的关系与交互。
用户界面:由控件构成的、与用户进行交互的界面,用于把数据展示给用户并响应用户的输入。
界面逻辑:控件与控制之间的关系与交互。

在保持代码可维护性的前提下,如何让数据能够顺畅地到达界面并灵活显示,同时方便地接收用户的操作历来都是表示层开发的核心问题。为此人们研究出了各种各样的设计模式,其中有经久不衰的MVC(Model-View-Controler)模式、MVP(Model-View-Presenter)模式等。在WPF出现之前,Windows Forms、ASP.NET等技术均使用“事件驱动”理念。WPF则是由“事件驱动”变为“数据驱动”。
事件驱动时代,用户每进行一个操作就会激发程序发生一个事件,事件发生后,用于响应事件的事件处理器就会执行。事件处理器是一个方法(函数)。事件驱动时代的数据时静态的、被动的。界面控件是主动的、界面逻辑与业务逻辑之间的桥梁是事件。而数据驱动正好相反,当数据发生变化时,会主动通知界面控件、推动控件展示最新的数据,同时用户对控件的操作会直接送达数据。数据驱动理念中数据占据主动地位,控件和控件事件被弱化。WPF中数据与空间的关系就是数据驱动界面。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值