有关于WPF

有的朋友就会问:既然已经有这么多表示层技术,为什么还要学习WPF技术呢?我们花精力学习WPF技术有什么收益和好处呢?这个问题可以从两方面来回答,
只要开发表示层程序就不可避免地要与4种功能性代码打交道:他们分别是:
1、数据模型:现实世界中事物和逻辑的抽象。
2、业务逻辑:数据模型之间的关系与交互。
3、用户界面:由控件构成的,与用户进行交互的界面,用于把数据展示给用户并响应用户的输入。
4、界面逻辑:控件与控制之间的关系与交互。
这4种代码的关系如图所示:

在保持代码可维护性的前提下,如何让数据能够顺畅的达到界面并灵活显示,同时方便地接收用户的操作历来都是表示层开发的核心问题,为此,人们研究出了各种各样的设计模式,其中有经久不衰的MVC,在WPF出现之前,Windows Forms,ASP.NET(web Forms)等技术均使用“事件驱动”理念,这种由“事件—订阅—事件处理器”关系交织在一起构成的程序,尽管可以使用MVC、MVP等设计模式,但一不小心就会使界面逻辑和业务逻辑纠缠在一起,造成代码变得复杂难懂,bug难以排除,而WPF技术则是微软在开发理念上的一次升级——由“事件驱动”变为“数据驱动”。
事件驱动时代,用户每进行一个操作用会激发程序发生一个事件,时间发生后,用于响应事件的事件处理器就会执行,事件处理器是一个方法(函数),在这个方法中,程序员可以处理数据或调用别的方法,这样,程序就在事件的驱动下向前执行了,可见,事件驱动时代的数据是静态的,被动的,界面控件是主动的,界面逻辑与业务逻辑之间的桥梁是事件,而数据驱动正好相反,当数据发生变化时,会主动通知界面控件,推动控件展示最新的数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值