最近在学习架构的过程中偶然接触到了一种建立UI模型的技术,发现这种技术与传统的N层架构的思路及其的相似,但是应用到前台还算是比较新颖吧,算时把传统的N层框架引入了前台展现吧。
我们对对象进行建模无非就是为了使传统的数据对象话,从而能够以面向对象的思路与操作进行对象的控制与编辑,还有就是为了进行必要的信息隐藏,这也就是我对传统N层框架中model的全部认识了。把以上概念延伸到UI层会是什么效果呢?我们可以来具体看一下。
在UI层我们建模的对象是什么呢?是展现元素,如表格,对话框等。那么我们为什么要对UI元素进行建模呢?答案分两点:第一我们要进行信息的隐藏,我们也许不想让具体的前台展示接触到实际的后台模型信息,我们一旦取得了对后台模型的引用那么修改它也便是一个轻而易举的事情了,处于安全等各种考虑还是把这些细节隐藏掉吧;第二点呢就是前台展现的需求,也许我们需要n种不同的前台展示,也许我们需要一个客户端,还需要网页的展示。那么我们通常的思路也许会是为两种展现方式都单独写一套前台展现。当我们真正开始做的时候也许就会发现,两种展现的基本元素都是一样的但我们有不能一次实现,当前台某个元素需要修改的时候我们还要同时在两套展示上做同样的修改,一旦忘记了哪个,那么那一套UI就不能正常展示了。那么我们如何解决这种问题呢?也就是说UI模型应当如何实现?我们所采取的办法便是在view层再进行细分。分成UI模型层,绑定层,展现层。其中UI模型层便是对各种UI模型进行建模,比如表格,对话框,文本框等,这种建模可以是基于表格的,当然也可以是基于对象的,那么建模的内容包括哪些呢?主要包含这些对象的属性,也就是前台展现这些对象所需关心的元素,比如过表格的长,宽,颜色,显示位置等信息。完成了UI的建模之后我们关心的便是如何展现了,如何把这些对象的属性对应到具体的前台展现呢?这就要靠绑定层了,绑定层在这个结构中可以说是一个翻译的角色,它负责把UI模型及其属性翻译成我们进行前台展示所需要的内容和格式然后传递给展现层。那么展现层接收到传来的合法信息之后便能进行特定的展示了。以这种方式进行的话,要解决以上为题我们只需要一套UI模型,再为两种展示建立各自的绑定层和展示层便可以实现预期需求。
应用该种方式解决问题我认为比较重要的便是UI模型所需控制元素属性的粒度,也就是哪些属性我们需要统一建模而哪些属性只需要交给展示层个性对待。这也许可以算是一个提取公因式的过程吧~~~
分享到:
相关推荐
【基于CS架构的N.Korea聊天室】是一个个人开发者完成的毕业设计项目,采用传统的客户端-服务器(Client-Server,简称CS)架构实现。在这个项目中,用户通过客户端软件进行实时交流,而服务器则负责处理客户端发送的...
Web 应用程序模型有很多优点,如浏览方式带来的变化,计算方式向服务器端的集中转化,客户端:业务数据模型与 UI 分开,更“瘦”,业务逻辑在中间层,通过连接池、多线程可以处理多客户端等。 传统的 Web 应用程序...
三层架构通常指的是表示层(UI Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。 #### 三、WebForms与ASP.NET MVC的比较 - **WebForms**优点: - 将Web开发抽象成一个组件模型,...
J2EE的发展历程反映了应用程序开发模型的变迁,从最初的单层架构到两层,再到三层,最终演变为N层计算结构。 在传统的应用程序模型中,数据访问、表示层和业务逻辑紧密耦合在一个应用中,导致代码复用性低,维护...
传统的应用程序通常采用单一层次或两层结构,例如主机/终端模式和胖客户端架构。这种模式下,用户界面、业务逻辑和数据库紧密耦合,导致代码复用困难、维护成本高、伸缩性差。随着互联网的兴起,Web应用程序模型逐渐...
它定义了一套标准接口和服务,包括Java Servlets、JavaServer Pages(JSP)、EJB(Enterprise JavaBeans)、JMS(Java Message Service)和JTA(Java Transaction API)等,这些组件共同构成了一种N层架构。...
数据库文档(springbootwk42kx6n数据库文档.doc)应该详细描述了该摄影交流平台的数据模型和数据库设计。在设计中,可能包括用户信息表、照片上传记录表、评论表、点赞表等,以支持用户的登录注册、照片分享、互动...
- **集成环境**:提供一个统一的设计平台,支持概念数据模型(CDM)、物理数据模型(PDM)、应用程序架构模型等的创建与管理。 - **跨平台兼容性**:除了支持传统的 Windows 平台外,还支持多种数据库系统如 Oracle、SQL...
总而言之,“Foundations_of_Qt_Development src”是一个宝贵的资源,它涵盖了Qt开发中的关键概念和技术,包括信号与槽、UI设计、模型视图架构、网络编程、文件操作、多线程以及国际化。通过深入研究这些源码,...
- **1.1.2 传统三层软件设计架构** - 随着业务需求的增长和技术的发展,简单的C/S架构逐渐无法满足复杂的应用场景。因此,出现了更为灵活的三层架构,即表示层、业务逻辑层和数据访问层。这种架构不仅提高了系统的...
- **Avkon视图切换架构**:这种架构与其他两种不同之处在于,视图切换由系统级别的View服务器控制,而非应用程序内部管理。 **2. Symbian开发入门第一步** 在开始Symbian开发之前,了解Symbian操作系统的基本知识...
**Flex与N层模型** Flex适应于多层架构,它在客户端处理用户界面和部分业务逻辑,而将数据处理和业务规则放在服务器端。这种分离使得应用程序能够更好地应对高并发和大数据量的挑战。 **Flex部署和管理** Flex...
#### 一、Android手机操作系统的四层架构 1. **Applications(应用程序层)** - 这一层包含了Android系统自带的一系列核心应用程序,例如电子邮件客户端、短信程序、日历、地图、浏览器、联系人管理器等。 - 所有...
2. Model:与数据模型和资源绑定,处理业务逻辑。 3. Block:作为MVVM架构中的视图模型,介于视图和模型之间,负责数据处理和视图渲染。 4. View:包含布局XML文件和模板PHTML文件,用于定义前端和后台的视图结构。 ...
5. **模型视图架构**:Qt的模型视图架构(Model-View-Controller, MVC)有助于分离数据(模型)、显示(视图)和交互逻辑(控制器)。在这个项目中,可能会用到QListWidget或QTableView来展示联系人和聊天记录。 6....
- **灵活的部署模型**:支持N层架构,可以轻松地与现有系统集成。 - **丰富的组件库**:提供了广泛的UI组件和功能,简化了开发过程。 ##### Flex 应用程序特点 - **高性能**:利用了客户端资源,减少了服务器负载,...
5.2.2 N层架构 5.2.3 维护客户端和服务器端的领域模型 5.3 大局观:通用的服务器端设计 5.3.1 不使用框架进行简单的Web服务器编码 5.3.2 使用Model2工作流框架 5.3.3 使用基于组件的框架 5.3.4 使用面向服务的架构 ...