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

珠海网站开发排名杭州模板建站哪家好

珠海网站开发排名,杭州模板建站哪家好,中国热门网站,小程序怎么删除WPF MVVM 架构 Step By Step(2)#xff08;简单的三层架构示例及粘合代码GLUE code#xff09; 原文:WPF MVVM 架构 Step By Step(2)#xff08;简单的三层架构示例及粘合代码GLUE code#xff09;我们第一步就是去了解三层架构和问题然后去看MVVM是怎么去解决这些问题的。… WPF MVVM 架构 Step By Step(2)简单的三层架构示例及粘合代码GLUE code 原文:WPF MVVM 架构 Step By Step(2)简单的三层架构示例及粘合代码GLUE code     我们第一步就是去了解三层架构和问题然后去看MVVM是怎么去解决这些问题的。      现在感觉和事实是完全不同的两个东西。当你看到三层架构的框图的时候你会觉得每层的职责被分配的很好。但是当你你真的去写代码的时候你会发现其实一些层被迫去做本不应该他们做的额外的事情违反了SOLID原则的S。        这个额外的工作就是在UI-Model和Model-Data access之间的代码。让我们就把这些代码称为“GLUE”代码。有两种主要的逻辑会造成“GLUE”代码也许我知道的并不够多其他的可以自己发现 1.映射逻辑绑定逻辑每一层通过属性方法集合来和其他层进行通信。举个例子一个在UI层的叫做“txtCustomerName”的textbox和customer类的“CustomerName”属性进行关联。 txtCustomerName.textcustobj.CustomerName;//mapping code 现在谁拥有上面的绑定逻辑代码是UI还是Model层开发者一般把这个代码推到UI层。 2.转换逻辑数据格式在不同的层是不一样的。比如一个“Person”类有一个叫”Gender“的属性又包含“F”和“M”但是在UI层我们希望看到一个checkbox“checked”true代表male“unchecked”false代表female。下面是一个转换的示例代码。 if(obj.Gender”M”)//transformation code chkMale.IsCheckedtrue; else chkMale.Ischeckedfalse;      大多数的开发者会在UI层写这样的“GLUE”代码。为了把这些代码分的详细一般可以在背后的代码找到答案比如.cs文件等。因此如果先”xaml”然后”xaml.cs”会有粘合代码先”aspx”再“aspx.cs”也会有粘合代码等等。      现在有一个问题粘合代码是UI的职责么让我们来看一个WPF程序的例子和粘合的代码的细节。 下面是一个简单的”Customer”模型类有3个属性“CustomerName”,”Amount”和”Married”字段。      但是这个模型在UI层展示的时候它和下面展示的一样。因此你能看到它包含模型的所有字段同时也加上了一些额外的东西看color label 和 married check box。      下面是一个简单的图表左边是模型的字段右边是UI的字段。中间是关于映射和转换的逻辑的描述。      你可以看到前2个字段我们没有任何的转换逻辑他们只有映射的逻辑。其他2个字段映射和转换的逻辑都有。      转换和映射的逻辑通常都在后台代码中就如“XAML.CS”。下面就是上面customer screen的后台代码你可以看到映射代码颜色的判断代码和性别格式转换代码。我给代码添加了注释方便你可以看到哪是映射代码哪是转换代码。                        现在围绕GLUE代码有几个问题 1.违反SRP:这样的GLUE代码是UI的职责么如果你知道了当时的情况在amout的值改变的时候UI的代码也要做出改变。那为什么当数据改变的时候我需要去改变我的UI代码。似乎可以嗅到不良代码的味道。UI应该是只有在我改变styles,colors,positoning等的时候才会要改变。 2.重用性如果我想把同样的颜色逻辑和性别转换用在下图这样的一个编辑的界面上我怎么去做呢我去复制粘贴去创建重复的代码 假如我想去领先一步把粘合代码用在不同的UI技术上像MVC,Windows form 或者mobile。 但是由于UI背后的规范和UI技术关系很紧密这样跨不同UI技术的重用事实上是不可能的。 例如下面的代码是继承自“Window”类。”Window”类和WPF UI 技术关系很紧密。因此如果我们想把这个逻辑用在Web应用或者MVC上时我们怎样去创建一个这个类的对象并且去消耗它。 public partial class MainWindow:Window { //behind code is here } 我们怎么去重用后台代码我们怎么去遵守SRP? posted on 2018-06-04 00:03 NET未来之路 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/lonelyxmas/p/9131382.html
http://www.huolong8.cn/news/220875/

相关文章:

  • 清远市专业网站制作企业网站管理系统课设
  • 金融网站开发公司seo资讯
  • 企业网站seo平台asp.net网站建设项目实战资料
  • 网站的域名和ip地址如何重新解析东莞常平网站建设
  • 俄罗斯网站开发网站策划书我与音乐
  • 怎么自己办网站WordPress 经典博客
  • 英文网站设计哪里好公司建设网站怎么做账
  • 网站建设意见做封面的地图网站
  • 江门网站建设自助建站竞价网站如何设计
  • 黄石企业网站设计网站主页尺寸
  • 沧州网站建设推广钓鱼转转网站在线生成软件
  • 海南电商网站建设苏州网站建设科技
  • 做网站的图片的内存wordpress查询页面id
  • 门户网站例子网站开发人员的工资
  • 微网站模板在线三元桥做网站的公司
  • 企业在网站推广wordpress 腾讯云oss
  • 网站建设流程六个步骤村级网站建设系统
  • 网站建设方案书是什么意思西安今天消息
  • 广东住房和城乡建设厅网站造价wordpress侧边栏删除
  • 做网站的需求清单宁波网页设计制作公司
  • 网站建设服务哪里便宜哈尔滨seo搜索优化
  • 兼职网站编程开发公司算是业主吗
  • 站长百度去哪儿网站建设需要哪些技术
  • 网站建设观点有什么做旅游攻略的网站
  • 广州市官网网站建设多少钱织梦网站制作教程
  • 返回链接 网站惩罚检查 错误检查画册设计流程
  • 网站排名易下拉教程谷歌推广网站建设
  • 可以看违禁网页的浏览器seo点击排名软件哪家好
  • zencart 网站安装wordpress 定时程序
  • 网站备案 快递义乌免费做网站