`

NET 应用架构指导 V2 学习笔记(十九) 表现层组件设计指导

阅读更多

  5 决定数据绑定的需求

  数据绑定在应用中,提供了一种在用户界面的控件和数据或者逻辑组件建立连接的方式。数据绑定允许你将数据库的数据,或者是其他结构的数据进行显示或者和他们进行交互。数据绑定是绑定目标(用户控件)和绑定源(数据结构、Model、或者是表现层逻辑组件)之间的桥梁。

  

 

  数据绑定控件是一些绑定到数据源的控件。例如:DataGrid控件绑定要一个集合。数据绑定通常使用在分离的表现模式(Views),绑定到Presenters或者是Controllers,或者是表现层的实体组件。

  对于每一个用户界面技术,对数据绑定的支持,和具体的实现,都不尽相同。通常来说,都可以绑定控件和对象或者集合。但是,也有需要数据源实现接口和事件,才可以支持数据绑定,例如:WPF中的INotifyPropertyChanged,和Windows Forms中的IBindingList。如果你使用分离的表现模式,确保你的表现逻辑和数据组件支持所需的接口和事件,使得用户控件可以很容易的进行绑定。

  通常有两种类型的绑定可以使用:

  •   One-way:单向绑定。改变源属性,自动更新目标属性,但是改变目标属性,不会影响源属性。这种适合使用在控件是只读的情况,如果没有必要监测目标属性的变化的话,可以选择单向绑定,避免不必要的负载。
  •   Two-way:双向绑定。改变源属性或者是目标属性,都会影响到对方。这种绑定适合用在可编辑的情况,很多控件都支持双向绑定,可以在数据源改变的时候影响到控件,也可以在控件改变的时候影响到数据源。

  6 确定错误处理策略

  用户界面组件是应用的外部边界,因此需要你选择适当的错误处理策略,最大化应用的稳定性,提供更好的用户体验。可以参考下面的步骤:

  •   设计集中管理的异常处理机制。异常和错误处理是一个跨层的关注,应该使用分离的组件来实现,使它可以跨层访问。也更容易维护,提高复用性。
  •   日志记录异常信息。记录异常日志是非常关键的,你可以用来发现和诊断错误。对表现层组件来说很重要。但是要小心个人身份信息和安全敏感信息,要小心日志的数量和位置。
  •   给用户显示友好的提示信息。避免直接显示错误信息,应该提供有好的错误提示。考虑提示用户如何修改这个错误,或者是正确的格式。
  •   允许用户重新尝试。在提示用户的情况下,还可以允许用户重新尝试。在一些情况下非常有用,例如网络超时、临时性的断网啊。
  •   显示一致的提示信息。避免暴露敏感信息。

  7 确定有效性性验证策略

  一个有效的输入验证策略可以帮助过滤不希望的输入,恶意的数据,保护你的应用不受攻击。典型的,在表现层的输入验证,业务规则验证发生在业务逻辑层的业务组件。在设计验证策略的时候,一定要确定所有的输入数据都是合法的。例如:从web客户端的一个输入,参数(get、post、查询字符串),隐藏字段,viewstate都应该被验证。通常情况,你应该验证所有从不可信源来的数据。

  对于应用的客户端组件和服务端组件来说,例如RIA和富客户端应用,一定要在服务端再次验证那些已经在客户端进行过的验证。在客户端进行验证,如果用户输入非法的数据,可以带给用户快速的响应。可以节省时间和带宽,但是要意识到恶意的攻击可能会绕过客户端的验证。

  在确定了需要验证的数据之后,再来决定你的验证技术。通常包括:

  •   支持已知的正确数据。只是接受所有符合条件的数据,拒绝所有其他的数据。
  •   决绝已知的错误数据。接受不满足错误条件的数据。
  •   审查。消除和翻译不合法的数据,使得输入数据安全。

  不同的表现层技术使用不同的验证方式。例如:WPF,使用xaml的转换器和验证规格对象。在Windows Forms中使用验证和绑定事件。

  模式 & 实践小组的推荐

  

  未完待续。。。。。。。。。。。。。。。。。。。。。。。。。。。

分享到:
评论

相关推荐

    牛【SystemVerilog】路科验证V2学习笔记(全600页)

    "牛【SystemVerilog】路科验证V2学习笔记(全600页)"是一份详尽的学习资料,涵盖了路科验证方法论的第二版(V2)在SystemVerilog中的应用。 笔记内容可能包含了以下几个关键知识点: 1. **基础语法**:...

    【SystemVerilog】路科验证V2学习笔记(全600页).pdf

    SystemVerilog的听课学习笔记,包括讲义截取、知识点记录、注意事项等细节的标注。 目录如下: 第一章 SV环境构建常识 1 1.1 数据类型 1 四、二值逻辑 4 定宽数组 9 foreach 13 动态数组 16 队列 19 ...

    【SystemVerilog】路科验证V2学习笔记(全600页)

    SystemVerilog的听课学习笔记,包括讲义截取、知识点记录、注意事项等细节的标注。 目录如下: 第一章 SV环境构建常识 1 1.1 数据类型 1 四、二值逻辑 4 定宽数组 9 foreach 13 动态数组 16 队列 19 关联数组 21 ...

    大型金融数据中心网络架构设计V2.pptx

    "大型金融数据中心网络架构设计V2.pptx" 本资源摘要信息来自一个关于大型金融数据中心网络架构设计的PPT文件,内容涵盖了金融数据中心网络架构设计的演进路线、金融网络应用场景的划分、数据中心应用服务域、双活...

    AADL 学习笔记_V2_aadl_

    在“AADL学习笔记.docx”文档中,读者可以期待找到对这些概念的详细解释、实例演示以及如何将它们应用到实际项目中的指导。这份笔记对于正在学习AADL或准备采用AADL进行系统设计的人来说是一份宝贵的资源。

    《软件架构设计文档》ADMEMS模板v2.docx

    软件架构设计文档ADMEMS模板v2是软件开发过程中的重要文档,旨在描述软件系统的架构设计,提供软件系统的总体架构、组件之间的关系、数据流向、接口定义等信息,以便于项目团队和stakeholders之间的沟通和协作。

    Application Architecture Guide v2

    《应用架构指南v2》是微软发布的一份深入探讨应用架构的重要文档,旨在为软件开发者、架构师和项目管理者提供一套全面的指导原则和最佳实践。这份指南详细阐述了如何设计、构建和优化应用程序,以确保其高效、可扩展...

    03.AxureUX中后台管理信息系统通用原型设计方案 v2(设计组件).rp

    03.AxureUX中后台管理信息系统通用原型设计方案 v2(设计组件).rp 03.AxureUX中后台管理信息系统通用原型设计方案 v2(设计组件).rp 03.AxureUX中后台管理信息系统通用原型设计方案 v2(设计组件).rp 03.AxureUX中...

    SystemVerilog路科验证V2学习笔记

    SystemVerilog路科验证V2是一个SystemVerilog的听课学习笔记,包括讲义截取、知识点记录、注意事项等细节的标注,可快速获取自已需要的知识,喜欢的平台可下载试试! 介绍设计描述和验证语言SystemVerilog的基本...

    一种结合车联网和C-V2X的终端设备系统架构设计.pdf

    结合车联网和C-V2X技术的终端设备系统架构设计,旨在通过高效的通信模块和先进的信息处理能力,推动智能交通系统的发展,实现交通事故的减少和交通效率的提升,最终为驾驶者提供一个更安全、更便捷的驾驶体验。...

    云平台系统架构设计文档v2.docx

    云平台系统架构设计文档v2.docx云平台系统架构设计文档v2.docx云平台系统架构设计文档v2.docx云平台系统架构设计文档v2.docx云平台系统架构设计文档v2.docx云平台系统架构设计文档v2.docx云平台系统架构设计文档v2....

    COM组件用例和测试代码V2

    4. **接口设计**:学习如何设计有效的COM接口,使其能够满足多种应用场景。 5. **测试策略**:掌握如何编写测试代码来验证COM组件的功能,包括单元测试和集成测试。 6. **注册与反注册**:理解如何在系统中注册和反...

    【SystemVerilog】路科验证V2学习笔记.7z

    本文将深入探讨“路科验证V2”学习笔记中的关键知识点,主要基于提供的"SV部分讲义"。 一、SystemVerilog基础 1. **数据类型**:SystemVerilog提供了丰富的数据类型,包括位(bit)、逻辑(logic)、整型(int)、...

    《合作式智能运输系统 车用通信系统应用层及应用数据交互标准》(TCSAE 53-2017)全文 中国 V2X 标准.pdf

    TCSAE(中国汽车工程学会)发布的《合作式智能运输系统 车用通信系统应用层及应用数据交互标准》(TCSAE 53-2017)是中国在V2X领域内首项正式标准,标志着国内相关技术的规范化发展。 该标准TCSAE 53-2017旨在提升...

    王晓波-从微服务到Serverless+架构应用与实践V2-32页.pdf

    微服务和Serverless是当前云计算架构设计中非常热门的概念,它们在解决传统单体应用所面临的可伸缩性、运维复杂性和快速迭代等问题上表现出了明显优势。在王晓波所著的《从微服务到Serverless+架构应用与实践》这份...

    云平台系统架构设计文档v2.pdf

    云平台系统架构设计文档v2.pdf云平台系统架构设计文档v2.pdf云平台系统架构设计文档v2.pdf云平台系统架构设计文档v2.pdf云平台系统架构设计文档v2.pdf云平台系统架构设计文档v2.pdf云平台系统架构设计文档v2.pdf云...

    【论文】旷视科技提出的新型轻量架构ShuffleNet V2

    随着移动设备计算能力的不断提升,以及深度学习技术的不断进步,轻量级神经网络架构设计将继续成为研究热点,ShuffleNet V2作为其中的重要里程碑之一,其创新点和实践经验对后续研究与应用都将有着深远的指导意义。

    kinect V2 学习资料

    从内容中可以看出,本文档主要是针对初学者设计,它介绍了如何从零开始搭建一个用于Windows 8.1平台的Kinect V2应用程序。文中提到了如何在Visual Studio 2013中创建一个项目,并且确保了使用的是适合Windows Store...

    LSD-TEST430F5438-01_V2_1学习板实验指导书

    通过以上知识点的梳理,可以看出LSD-TEST430F5438-01_V2_1学习板实验指导书覆盖了从硬件资源介绍到软件编程实践的全面内容,旨在帮助学习者深入理解MSP430F5438单片机的各项特性和实际应用,是一份非常实用的学习...

    中兴物联ME3760_V2公网模块硬件用户指导手册_V1.6.pdf

    文档中更新了TD-LTE band41频段及其射频性能指标,说明了模块在新的频段中的性能表现,并根据实际需要调整了模块在TD-LTE的速率,这对于模块在特定频段下的应用具有重要的指导意义。 在硬件用户指导手册中,还提供...

Global site tag (gtag.js) - Google Analytics