将UI的表现行为以及数据绑定行为封装成UI组件,使其有良好复用性的概念提出已久,比如TagLib,.Net的server component。对于胖客户端来说,也是一样。出于今后技术升级的考虑,RAB应该抽象UI组件接口,将具体组件接口的实现类的装载行为封装起来,通过配置文件声明式的装载。同时UI组件接口还应封装一些常用的表现行为及相关的属性设置,如国际化资源设定,文本框输入长度等。
作为UI组件来说,它本身一种数据资源(这里统指业务数据)的表现和入口。所以对于一个UI组件就是一个数据资源的表现,而这些表现行为属性就直接和数据资源对应,比如一个业务字段叫UserID,50个字符长,要求文本框显示,并且要大写,这些就是表现属性。这就使得一个UI的视图由会由许多数据字段决定产生。同时由于采用MVC的模式,View不会与包含任何的业务逻辑,所以可以将View上要显示的所有数据字段全部放入一个配置载体表示UI的结构。对于View的配置载体,xml提供了很好的形式,清晰的格式和层次,可以直观的反映UI的布局层次。
对于大多数数据库应用系统而言,可以为数据库中每个业务数据字段分配一套相关的UI表现行为的属性,将其放入配置文件或者数据库,每次系统启动之后加载这些属性,并作缓存。在页面装载的时候,可以用一个外部装载类解析xml进行UI实例化,在图2中这个装载类就是GUIEngine。GUIEngine读取xml中的字段标签,从缓存中读取相应的字段的表现型为属性,根据这些属性生成UI组件,然后添加至业面。完成页面的装载。这称为用数据源模型直接与UI组件绑定的形式。
RAD主要表现是所见即所得。Web表现技术在做到这点上很不直观,而胖客户端的RAD开发,早在Web之前就已经非常成熟。不过本文在此提出了一种新的所见即所得的概念,那就是将这种方式不仅体现在开发中,还要体现在最终的成型产品中,也就是允许客户化定制UI的表现。这就要求框架提供UI的组件,要支持动态拖拽的行为。
对于动态的拖拽行为,本文认为合理的方式应采用包装类方式,将动态处理行为封装在包装类里面,当UI组件实例往页面添加的时候,将组件装入包装类。用户进行UI设计的时候,包装类卸载UI组件原先所有的和动态处理有关的事件,并且缓存这些事件对象,然后给UI组件装在上动态处理行为。
与传统表现层技术相比:
RAD的动态性将UI的设计全部移交给用户,而程序员,专注于实现业务细节,并且给予用户足够的客户化支持。而原先的方式,程序员不得不为UI的设计煞费苦心。
原文地址:http://www.evget.com/zh-CN/Info/ReadInfo.aspx?id=9143
分享到:
相关推荐
这部分是表单设计的数据模型,定义了表单、字段、规则等对象的结构。模型通常包含字段类型(如文本、数字、日期等)、验证规则、表单关联等信息,是整个动态表单系统的基础。 6. **设计服务(design-service)** ...
由于提供的文件内容不包含实际的文本信息,而是重复的URL链接,因此无法从该部分提供有关面向对象分析与设计(OOAD)的知识点。但是,我将尽可能详细地介绍面向对象分析与设计的相关知识点,以满足您的需求。 面向...
设计组件时,我们遵循面向对象的原则,强调封装、继承和多态性,确保组件具有良好的灵活性和扩展性。 1. 封装:通过封装,我们可以隐藏组件的内部实现细节,只对外暴露必要的接口。这样做的好处是降低了组件的复杂...
COBOL(Common Business Oriented Language)是一种面向数据处理和商业应用的编程语言。文档中提到的COBOL代码片段涉及到了记录和字段的定义和操作。例如,`RECORD SECTION` 中定义了记录的结构,`FD`(File ...
- 数据表的字段及其属性、关键字段等需要预先仔细规划。 - 各数据表的记录数量不少于10条,并具有一定的代表性。 - 实现数据的增加、删除、修改等功能,并具备提示或警告信息。 - 支持过滤、排序等功能,并且...
在此基础上,设计并实现了一种面向数据可视化大屏的自动代码生成工具。该工具集成了上述提到的技术,并提供了数据源配置、图表配置和历史记录生成等功能。用户可以通过配置来实现大屏的数据可视化需求。该工具的应用...
本文将探讨面向用户的数据结构及数据访问技术,特别是如何根据用户需求分析和数据词典的应用来优化数据存储,并设计出易于用户交互的数据访问接口。 首先,面向用户的数据结构组织是将原始数据按照系统功能需求进行...
实现这些组件的关键在于设计良好的接口,以确保数据访问层与其他应用程序层之间的解耦。为了提高代码的复用性和可测试性,可以采用依赖注入等技术。 #### 实现业务实体 业务实体组件表示应用程序中的业务对象,...
主题聚合设计是将贴源数据结构转化成面向大数据查询和分析的组织结构,保持与贴源数据相同颗粒度的明细级记录,改变字段摆布,但不新增衍生字段,表现形式为数据宽表,形成完整统一的聚合单一视图。 数据建模是数据...
面向对象程序设计是一种重要的编程范式,它强调将数据和操作数据的方法封装在一起,形成对象,以此来模拟现实世界中的实体。在这个课程设计中,学生被要求开发一个计算器应用程序,这是学习面向对象概念的一个典型...
封装(Encapsulation)是面向对象程序设计的一个原则,它指的是将数据(属性)和行为(方法)捆绑在一起,形成一个独立的单元,并通过对外提供的接口与外界进行交互。封装的目的是隐藏对象的内部状态,只能通过指定...
iObjects是SuperMap的另一套开发组件,主要面向.NET Framework,提供类似的功能,但面向不同的编程环境。在这里可能是说明了转换方法可以应用于.NET平台,或者示例中同时包含了.NET的实现。 5. **栅格数据转换**:...
5. **连接各层**:在表现层调用业务逻辑组件,由业务逻辑组件再调用数据访问组件进行数据库操作。 6. **实现数据绑定**:将业务逻辑层返回的结果绑定到表现层的控件上,以便用户查看。 7. **测试与优化**:进行单元...
面向对象程序设计是一种编程范式,它将计算机程序设计成由一系列对象组成,这些对象可以包含数据和操作这些数据的方法。OOP 的主要优势在于提高了代码的可重用性、模块化以及易于维护性。OOP 的四大核心特性包括:...
在数据库封装设计中,数据库不再仅仅是存储数据的地方,而是包含业务逻辑的组件。SQL 2005引入的新特性,如存储过程的增强、触发器和函数的扩展,使得数据库能够更好地处理复杂的业务规则。 最后,数据库安全设计...
例如,当用户尝试添加新记录时,业务逻辑层会检查数据的完整性和合法性,如必填字段、数据格式等。如果数据有效,它会调用数据访问层来执行数据库操作。 3. **数据访问层(Data Access Layer, DAL)**:这一层负责...
- **模块设计**:每个层次内部的具体模块设计,如表现层的各个视图、控制器和模型,业务逻辑层的业务实体和业务服务,数据访问层的数据库模型和访问对象。 - **数据库设计**:包含数据库表结构、字段说明、索引设计...
文中提到的设计和实现了一个基于OCI的数据引擎组件,该组件将数据引擎操作的对象划分为多个层次,不仅能够处理常见类型的非海量数据,还特别优化了对大于4 GB的LOB字段数据的操作,解决了其他技术在此方面的限制,...
通过“文本生成字段”,开发者可以将这些文本信息转化为结构化的数据字段,这些字段可以是数据库表的一部分,便于后续的数据管理和查询。 具体实现步骤可能包括以下几点: 1. **读取文本数据**:使用SuperMap ...