当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:12:00  来源:本站整理

<b>J2EE底子:MVC情势和Struts情势的理解</b>[Java编程]

赞助商链接



  本文“<b>J2EE底子:MVC情势和Struts情势的理解</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

MVC方法普通在Smalltalk顶用于成立用户接口.通过对MVC中储藏的计划情势可以帮你理解我们所说的“情势”的含义.

MVC包含三类对象,Model是利用对象、View为其屏幕表示、Controller定义了对用户输入的处理(反映)方法.在利用MVC方法从前,普通将这三个对象的功效合到了一同,利用MVC别离了它们,为计划供应了机动性和可重用性.

MVC通过在view和model之间成立Subscribe/Notify协议,别离了view和model对象.View对象必须保证它的表示反映了model对象的状况,当model对象的数据改变时,model对象告诉(Notify)view对象,作为对这一行为的反映,每个view对象得到了一个做出更新的机会.这种方法使得可以将多个view对象为一个model对象供应差别的表示.你也可认为model对象成立新的view对象,而不用重新编写model.下图演示了一个model和三个view:

从表面看,这一例子反映了一个将view和model别离的计划.但是,这种计划合适一类更通用的问题:削减对象之间的藕和性,这样,当一个对象改变时,将不会影响到别的的对象,乃至不需求知道别的的对象的实现细节.这种更通用的情势将在Observer情势中来描写.

MVC方法的另一个特点是,view对象是可嵌套定义的.比方,button的掌握板可由一个包含嵌套button view对象的复杂view对象来实现;对象察看器的用户接口可由能重用于调试器的嵌套view对象构成.MVC方法采取CompositeView类(View的子类)来支持嵌套view,其行为与view对象的行为一致,可用于view对象能利用的任何场所.

于是,我们又可以把这种对待composite view就像处理其一个组件的方法当作一种计划(方法).一样的,这种计划可抽象出另一类更通用的问题(的办理方法):我们在某种情形下将对象分成组,并且处理一个组就像对待对象个体.这种方法我们用Composite计划情势来描写.它答应你成立类的层次,在这一层次下,有些子类定义原始对象(如Button),而别的的类可以定义合成对象(CompositeView),合成对象可将原始对象装配成更复杂的对象.

一样,MVC也可改变视图类(view)对用户反映的方法,而不用改变其可视化表示.你大概想改变其对键盘呼应的方法,如,利用弹出菜单替换号令键.MVC将这种反映机制封装为掌握对象(Controller).掌握器有一个类层次,易于实现从一个已存在的掌握器成立出一个变种—一种新的掌握器.

视图(view)对象通过某一掌握器对象的实例(instance)来实现特定的呼应战略.为了实现差别的战略,可以简单的利用差别的掌握器实例来替换当前的实例.乃至可以在运行时来改变视图的掌握器,以改变视图对象对用户输入的呼应(战略).比方,一个view对象可置为disabled,即对用户的输入不做任何呼应.要到达这一目的,仅仅只需让掌握器忽视全部input事件.

这种视图—掌握器关系便是Strategy计划情势的一个典型例子.所谓Strategy即这样一个对象,它表示了一种算法.这在你想要替换算法(无论是静态替换还是动态替换)时分外有效,而这样的算法大概有很多的变量、大概拥有复杂的数据构造.

MVC中也利用了别的计划情势,比方,利用Factory Method情势来描写视图的默许掌握器类;采取Decorator情势来为视图增添转动条等.但在MVC中的主要情势是前述的Observer、Composite、和Strategy计划情势.


  以上是“<b>J2EE底子:MVC情势和Struts情势的理解</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .