【学习笔记】WPF-01:前言

立山  金牌会员 | 2022-6-20 09:41:52 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 798|帖子 798|积分 2394

前言

1.基本概念

WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,由 .NET Framework 3.0 开始引入,与WCF (Windows Communication Foundation)及 WF(Windows Workflow Foundation)并行为新一代 Windows操作系统以及 WinFX 的三个重大应用程序开发类库。
2.功能定位

三层架构

对于一般程序而言通常包含3层架构:数据层业务逻辑层表现层,这三层结构的功能大致如下:
数据层:
存储数据。多由数据库构成
业务逻辑层:
根据需求实现业务功能。通过一组Service向表现层公开功能,通过DAL(Data Access Layer)与数据层进行交互
表现层:
向用户展示数据。通常被称为客户端程序
WPF的功能是用来编写应用程序的表现层
扩展:业务逻辑层——WCFWF数据访问层——WCF DataServiceWCF RIA Service
3.功能结构

MVVM模式

表示层程序一般包括以下四种功能性代码

  • 数据模型:现实世界中事物和逻辑的抽象。
  • 业务逻辑:数据模型之间的关系与交互。
  • 用户界面:由控件构成的、与用户进行交互的界面,用于把数据展示给用户并响应用户的输入。
  • 界面逻辑:控件与控制之间的关系与交互。
在WPF出现之前,Windows Forms、ASP.NET(Web Forms)等技术均使用“事件驱动”理念,界面逻辑和业务逻辑容易纠缠在一起,造成代码结构复杂难懂、bug难以排除。而WPF技术则是“数据驱动”。
事件驱动:用户每进行一个操作用会激发程序发生一个事件,事件发生后,用于响应事件的事件处理器就会执行。事件处理器是一个方法(函数),在这个方法中,程序员可以处理数据或调用别的方法,这样,程序就在事件的驱动下向前执行了。事件驱动的数据是静态的、被动的;界面控件是主动的、界面逻辑与业务逻辑之间的桥梁是事件。
数据驱动:当数据发生变化时,会主动通知界面控件、推动控件展示最新的数据;同时,用户对控件的操作会直接送达数据。在数据驱动理念中,数据占据主动地位、控件和控件事件被弱化(控件事件一般只参与界面逻辑,不再染指业务逻辑,使程序复杂度得到有效控制)。数据与界面之间的桥梁是数据关联(DataBinding),通过这个桥梁,数据可以流向界面,再从界面流回数据源。
在WPF中,把能够展示数据、响应用户操作的UI元素称为控件(Control)。控件所展示的数据称为控件的“数据内容”;控件在响应用户的操作后会执行自己的一些方法或以事件(Event)的形式通知应用程序(程序员可以决定如何处理这些事件),称为控件的“行为”或“算法内容”。
4.技术结构

WPFSilverlight的技术对比:
技术项目在WPF中在Silverlight中XAML语言完整完整控件完整完整布局完整完整Binding完整基本完整依赖属性完整基本完整路由事件完整简化命令完整无资源完整完整控件模板完整基本完整数据模板完整基本完整绘图完整完整2D/3D动画完整简化类比于Web前端,XAML可以看做HTML+CSS,用作用户界面的编写。业务逻辑的具体实现是通过C#编写,类比于JavaScript。另外,WPF中的技术点与Vue是极其相似的,可以对比学习。
个人小结

WPF是一个用来编写表现层的工具,使用数据驱动的理念,采用MVVM模式,UI界面与业务逻辑分离。

来源:https://www.cnblogs.com/yexiaozhi/archive/2022/06/14/16374534.html
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

立山

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表