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的听课学习笔记,包括讲义截取、知识点记录、注意事项等细节的标注。 目录如下: 第一章 SV环境构建常识 1 1.1 数据类型 1 四、二值逻辑 4 定宽数组 9 foreach 13 动态数组 16 队列 19 ...
SystemVerilog的听课学习笔记,包括讲义截取、知识点记录、注意事项等细节的标注。
SystemVerilog的听课学习笔记,包括讲义截取、知识点记录、注意事项等细节的标注。 目录如下: 第一章 SV环境构建常识 1 1.1 数据类型 1 四、二值逻辑 4 定宽数组 9 foreach 13 动态数组 16 队列 19 关联数组 21 ...
大型金融数据中心网络架构设计V2.pptx
03.AxureUX中后台管理信息系统通用原型设计方案 v2(设计组件).rp 03.AxureUX中后台管理信息系统通用原型设计方案 v2(设计组件).rp 03.AxureUX中后台管理信息系统通用原型设计方案 v2(设计组件).rp 03.AxureUX中...
SystemVerilog路科验证V2是一个SystemVerilog的听课学习笔记,包括讲义截取、知识点记录、注意事项等细节的标注,可快速获取自已需要的知识,喜欢的平台可下载试试! 介绍设计描述和验证语言SystemVerilog的基本...
云平台系统架构设计文档v2.docx云平台系统架构设计文档v2.docx云平台系统架构设计文档v2.docx云平台系统架构设计文档v2.docx云平台系统架构设计文档v2.docx云平台系统架构设计文档v2.docx云平台系统架构设计文档v2....
【SystemVerilog】路科验证V2学习笔记.7z
AADL 学习笔记参考文件 AADL 标准V2
一种结合车联网和C-V2X的终端设备系统架构设计.pdf
云平台系统架构设计文档v2.pdf云平台系统架构设计文档v2.pdf云平台系统架构设计文档v2.pdf云平台系统架构设计文档v2.pdf云平台系统架构设计文档v2.pdf云平台系统架构设计文档v2.pdf云平台系统架构设计文档v2.pdf云...
王晓波-从微服务到Serverless+架构应用与实践V2-32页.pdf
微服务架构分享V2.pptx
《合作式智能运输系统 车用通信系统应用层及应用数据交互标准》(TCSAE 53-2017)全文 中国 V2X 标准.pdf
王晓波-从微服务到Serverless+架构应用与实践V2.pdf
用友培训课件:U9V2 8组件化实施方案实例指导_GL-090凭证模板.ppt
Ray -分布式计算框架架构设计详解 v2
ADMEMS方法推荐的《软件架构设计文档》
NoSQL数据库技术__城市时空数据引擎JUST的架构与应用实践V2.zip