当前位置: 首页 > news >正文

网站建设的技术准备/重庆网站建设维护

网站建设的技术准备,重庆网站建设维护,合肥论坛建站模板,今天北京疫情最新消息微软的WPF带来了新的技术体验,如Sliverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、Control…
微软的WPF带来了新的技术体验,如Sliverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性揉合进去,以应对客户日益复杂的需求变化。
WPF的数据绑定与Presentation Model相集合是非常好的做法,使得开发人员可以将View和逻辑分离出来,但这种数据绑定技术非常简单实用,也是WPF所特有的,所以我们又称之为Model-View-ViewModel (MVVM)。这种模式跟经典的MVP(Model-View-Presenter)模式很相似,除了你需要一个为View量身定制的model,这个model就是ViewModel。ViewModel包含所有由UI特定的接口和属性,并由一个ViewModel 的视图的绑定属性,并可获得二者之间的松散耦合,所以需要在ViewModel 直接更新视图中编写相应代码。数据绑定系统还支持提供了标准化的方式传输到视图的验证错误的输入的验证。
如下图MVP设计模式架构所示。

 
在视图(View)部分,通常也就是一个Aspx页面。在以前设计模式中由于没有清晰的职责划分,UI 层经常成为逻辑层的全能代理,而后者实际上属于应用程序的其他层。MVP 里的M 其实和MVC里的M是一个,都是封装了核心数据、逻辑和功能的计算关系的模型,而V是视图(窗体),P就是封装了窗体中的所有操作、响应用户的输入输出、事件等,与MVC里的C差不多,区别是MVC是系统级架构的,MVP是用在某个特定页面上的,也就是说MVP的灵活性要远远大于MVC
,实现起来也极为简单。
我们再从IView这个interface层来解析,它可以帮助我们把各类UI与逻辑层解耦,同时可以从UI层进入自动化测试自动化测试(Unit/Automatic Test)并提供了入口,在以前可以由WinForm/Web Form/MFC等编写的UI是通过事件Windows消息与IView层沟通的。WPF与IView层的沟通,最佳的手段是使用Binding,当然,也可以使用事件;Presenter层要实现IView,多态机制可以保证运行时UI层显示恰当的数据。比如Binding,在程序中,你可能看到Binding的Source是某个interface类型的变量,实际上,这个interface变量引用着的对象才是真正的数据源。
MVC模式大家都已经非常熟悉了,在这里我就不赘述,这些模式也是依次进化而形成MVC—>MVP—>MVVM。有一句话说的好:当物体受到接力的时候,凡是有
界面的地方就是最容易被撕下来的地方。因此,IView作为公共视图接口约束(契约)的一层意思;View则能传达解耦的一层意思。
下面介绍一下MVVM设计模式。因为WPF技术出现,从而使MVP设计模式有所改进,MVVM 模式便是使用的是数据绑定基础架构。它们可以轻松构建UI的必要元素。
如,下图所示MVVM架构图。
可以参考The Composite Application Guidance for WPF(prism),prism V2下载源码
View绑定到ViewModel,然后执行一些命令在向它请求一个动作。而反过来,ViewModel跟Model通讯,告诉它更新来响应UI。这样便使得为应用构建UI非常的容易。往一个应用程序上贴一个界面越容易,外观设计师就越容易使用Blend来创建一个漂亮的界面。同时,当UI和功能越来越松耦合的时候,功能的可测试性就越来越强。
在MVP模式中,为了让UI层能够从逻辑层上分离下来,设计师们在UI层与逻辑层之间加了一层interface。无论是UI开发人员还是数据开发人员,都要尊重这个契约、按照它进行设计和开发。这样,理想状态下无论是Web UI还是Window UI就都可以使用同一套数据逻辑了。借鉴MVP的IView层,养成习惯。View Model听起来Presenter要贴切得多;会把一些跟事件、命令相关的东西放在Controler里。
参考示例:PersonViewModel层
public FamilyTreeViewModel(Person rootPerson)
{
    _rootPerson 
= new PersonViewModel(rootPerson);

    _firstGeneration 
= new ReadOnlyCollection<PersonViewModel>(
        
new PersonViewModel[] 
        { 
            _rootPerson 
        });
    _searchCommand 
= new SearchFamilyTreeCommand(this);
}
在这里我不在赘述,详细应用实例参考:
Simplifying the WPF TreeView by Using the ViewModel Pattern
源码下载
http://www.lbrq.cn/news/1336483.html

相关文章:

  • 设计图的网站/百度seo营销推广
  • 无锡网络推广/初学seo网站推广需要怎么做
  • 分析网站设计对网站搜索引擎友好性的影响/搜索引擎优化的内容
  • 给个营销型网站/北京seo优化外包
  • 平面设计图案/无锡优化网站排名
  • 如何将自己做的网站挂到服务器上/深圳百度推广代理商
  • 无锡网站搜索优化/北京seo推广服务
  • 天津网页制作网页报价/优化方案官方网站
  • 从零精通网站建设/公司软文怎么写
  • 古典网站织梦模板/网站seo查询
  • 电脑报网站建设/南宁优化网站收费
  • 开奖网站怎么做/百度扫一扫识别图片
  • 免费网站建设咨询/最近新闻报道
  • phpcms主题移植wordpress/seo短视频网页入口引流
  • 郑州第一附属医院不孕不育科/seo关键词快速提升软件官网
  • 产品推广方案推广思路和方法/seo流量增长策略
  • 建设集团网站 技术支持中企动力/广州seo诊断
  • 做IT的会做网站吗/搜索引擎营销的英文简称
  • 低代码平台开发/长沙市seo百度关键词
  • 深圳做网上商城网站/怎样开自己的网站
  • 岳阳做公司网站/免费打广告网站
  • 域名解析过程/网站关键词如何优化上首页
  • vps设置网站访问用户权限/百度推广登录官网
  • 手机做炫光图头像的网站/企业网络搭建方案
  • php网站分类目录源码/搜索引擎营销的内容和层次有哪些
  • 淘宝网页美工设计/seo专员是什么职业
  • 网站编程源码免费/2022拉新推广赚钱的app
  • 陕西网站建设咨询/seo黑帽教程视频
  • 营销型网站建设主要教学内容/小程序平台
  • 企业网站排行榜/一站式软文发布推广平台
  • 【自动化备份全网服务器数据项目】
  • AI炼丹日志-32- memvid 大模型数据库!用视频存储+语义检索实现秒级搜索
  • 嵌入式第二十四课!!linux应用软件编程与文件操作!!!
  • drippingblues靶机通关练习笔记
  • WSL创建虚拟机配置VNC
  • [论文阅读] 人工智能 + 软件工程 | 大型语言模型对决传统方法:多语言漏洞修复能力大比拼