UI模型与传统N层架构

    最近在学习架构的过程中偶然接触到了一种建立UI模型的技术,发现这种技术与传统的N层架构的思路及其的相似,但是应用到前台还算是比较新颖吧,算时把传统的N层框架引入了前台展现吧。

    我们对对象进行建模无非就是为了使传统的数据对象话,从而能够以面向对象的思路与操作进行对象的控制与编辑,还有就是为了进行必要的信息隐藏,这也就是我对传统N层框架中model的全部认识了。把以上概念延伸到UI层会是什么效果呢?我们可以来具体看一下。

    在UI层我们建模的对象是什么呢?是展现元素,如表格,对话框等。那么我们为什么要对UI元素进行建模呢?答案分两点:第一我们要进行信息的隐藏,我们也许不想让具体的前台展示接触到实际的后台模型信息,我们一旦取得了对后台模型的引用那么修改它也便是一个轻而易举的事情了,处于安全等各种考虑还是把这些细节隐藏掉吧;第二点呢就是前台展现的需求,也许我们需要n种不同的前台展示,也许我们需要一个客户端,还需要网页的展示。那么我们通常的思路也许会是为两种展现方式都单独写一套前台展现。当我们真正开始做的时候也许就会发现,两种展现的基本元素都是一样的但我们有不能一次实现,当前台某个元素需要修改的时候我们还要同时在两套展示上做同样的修改,一旦忘记了哪个,那么那一套UI就不能正常展示了。那么我们如何解决这种问题呢?也就是说UI模型应当如何实现?我们所采取的办法便是在view层再进行细分。分成UI模型层,绑定层,展现层。其中UI模型层便是对各种UI模型进行建模,比如表格,对话框,文本框等,这种建模可以是基于表格的,当然也可以是基于对象的,那么建模的内容包括哪些呢?主要包含这些对象的属性,也就是前台展现这些对象所需关心的元素,比如过表格的长,宽,颜色,显示位置等信息。完成了UI的建模之后我们关心的便是如何展现了,如何把这些对象的属性对应到具体的前台展现呢?这就要靠绑定层了,绑定层在这个结构中可以说是一个翻译的角色,它负责把UI模型及其属性翻译成我们进行前台展示所需要的内容和格式然后传递给展现层。那么展现层接收到传来的合法信息之后便能进行特定的展示了。以这种方式进行的话,要解决以上为题我们只需要一套UI模型,再为两种展示建立各自的绑定层和展示层便可以实现预期需求。

    应用该种方式解决问题我认为比较重要的便是UI模型所需控制元素属性的粒度,也就是哪些属性我们需要统一建模而哪些属性只需要交给展示层个性对待。这也许可以算是一个提取公因式的过程吧~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值