在传统的编程模型下,页面美工通过网页设计工具“画”出来的页面,程序员看不懂;而如果程序员对页面进行修改,则页面美工又无法理解;并且,如果要更改业务逻辑,程序员需要不断的维护页面内容,最终造成页面美工与程序员无法协同工作。而在IoVC的编程思想下,页面美工只需要给每个组件设置一个ID,程序员在后台的业务逻辑中,便拥有对页面UI元素的完全控制力。Web页面在美工完成之后,程序员再也无需因为需求的变更或者逻辑的变化,而再重新维护Web页面内容。
简而言之,IoVC是一种更好的MVC,是对MVC的一种高层次抽象。
3. 无状态支持
ViewState是很多时候必须维护的状态,采用IoVC模式后,由于状态维护在服务端,使得UI端的界面状态维护不在需要。另外基于facelets的xhtml文件本身就是组件树。
4. 增强调试辅助
AOM通过RenderKit生成了很多交互式的JS代码,虽然这些代码都是经过很多检验可靠的代码,但是不排除遇到极端情况的辅助调试需求,AOM2.0 充分考虑到了当“AJAX无需写JS代码”后所存在的调试需要,提供了诸多调试辅助措施。
5. Lite Bean
Lite Bean,脱胎于JSF中的Managed Bean(托管Bean),却又远超过Managed Bean的功能范围,它是展现层与业务层的粘接器。
在AOM中,一个Lite Bean就是一个普通的POJO对象,它可以继承任何基类,也可以实现任何接口。而Lite Bean的声明与配置,也遵循“Convention Over Configuration”的原则,只需一个简单的Annotation声明,使您从繁重的xml文件中解脱出来。在Lite Bean中,您可以编写、调用、组合任何后台的业务逻辑,同时,遵循IoVC的编程思想,也使您拥有对UI的完全控制力。在Lite Bean中,还可以注入任何其它资源,也可以再注入其它的Lite Bean。Lite Bean同时还是Apusic OperaMasks与Spring、EJB3等其它已有编程模型的粘接器,一个Spring对象或EJB 3对象,同时也可以成为一个Lite Bean,而一个Lite Bean同时也能够轻松的被Spring对象或EJB 3对象所调用,这是一种神奇的魔力,通过LiteBean,能够使您通过IoVC思想拥有对UI的完全控制力,又使您任意的调用、组装任何的后台逻辑,从而使您的工作轻松之极,并完全享受Web开发的乐趣。
6. Elite,the Ruby of J2EE
Java,曾经被称之为史上最优雅的语言,吸引了诸多程序员的目光,目前已经成为世界上使用率最高的语言。但在Web 2.0浪潮的冲击下,在“简单、轻量、敏捷”压倒一切的态势下,Java也略显疲态,日益臃肿与复杂起来。人们即希望拥有Java语言自身的强大、健壮与稳定,又期望拥有类似于Ruby等动态语言的敏捷、高效与灵活。一种新的动态语言,elite,能够使您鱼与熊掌二者兼得。
ELite是一个集命令式和函数式风格为一身的面向对象的程序设计语言,既有高阶函数(first-class functions)、列表推导(list-comprehension)、模式匹配(pattern-matching)、延时求值(lazy-evaluation)等函数式语言所具有的语言特征,又具有和Java相近的语法结构。
与Java相比,Elite语法简单、高效,并且更加的面向对象
Elite同时也是一种DSL(Domain Specific Language),并且,它向领域扩展的能力是简单且强大的1[km/h] * [1.hour + 45.minute]
与其它动态语言相比(譬如说Ruby),Elite能够与Java很好的集成
有人说,在Web 2.0的冲击下,RoR(Ruby on Rails)正在侵占J2EE的领地,但Elite将成为J2EE中的Ruby,并且,与Ruby相比,Elite对Java程序员更自然,更亲切,也更强大。Elite是为Web而生,将会成为Java程序员最有力的武器!
分享到:
相关推荐
AOM 通过engine.vbs 启动UFT。
AOM(Academy of Motion Picture Arts and Sciences)是一个与电影技术相关的组织,而在此上下文中,它似乎指的是一个特定的Java项目或库。"AOM java原代码下载"的标题表明我们正在讨论的是该组织的Java源代码,可能...
标题 "aom-v1.0.0.errata.1.tar.gz" 指的是一个名为 "aom" 的开源项目,其版本为1.0.0的错误修复更新(errata)第一版,并以tar.gz格式打包。这个压缩包包含了项目的一些核心文件和文档,表明这可能是用于开发或维护...
标题"AOM初体验(一)"以及描述中提到的工程打包下载,暗示了这是一个关于应用开发和集成环境的讨论,特别是涉及到AOM(可能是Apusic Application Object Model,一种中间件平台)的使用。标签"源码"和"工具"进一步...
使用QTP的automation object model,可以对QTP进行自动化编程,从而自动对QTP进行选项设置、自动运行测试(或组件),而无需使用QTP界面手工进行这些操作。 如果要重复多次的完成同一项工作任务,或重复多次运行同一...
"errata"通常指的是软件发布后发现的错误或修正,因此这个版本可能包含了对v1.0.0的一些修复和改进。在编译VLC时,这个组件是必不可少的,因为它提供了对AV1视频格式的支持,使得VLC能够解码和播放AV1编码的视频内容...
各位AOM的爱好者,AOM目前采用的默认EXT皮肤很漂亮,但是从1.0用到2.0再用到2.3,想必各位的项目都已经成熟稳定了,这时候很多人想锦上添花,让自己的项目更加出众一些,那就要在外观上做一些美化了。 遗憾的是,...
"errata"通常用于标识软件发布中的错误或修正,这意味着这个压缩包可能包含了针对aomedia(aom)v1.0.0版本的一些修复或改进。"1"可能是修正的序列号,表示这是第一次更新。 描述中提到"aom-v1.0.0.errata.1.tar.gz...
标题"AOM相关.rar"指的是与AOMedia(简称AOM)相关的资料集合,这通常涉及到音视频编码技术,特别是AV1编码标准。AOMedia是一个开放的非营利组织,致力于开发下一代开源、免专利费的媒体编码技术,旨在提供高质量的...
AOM金蝶控件开发指南,入门,供大家学习
海洋沉积物甲烷厌氧氧化(AOM)作用是一个涉及甲烷和硫酸盐的生物地球化学过程,甲烷作为一种温室气体,在海洋沉积物中通过与硫酸盐还原菌作用被转化为二氧化碳或碳酸盐,同时硫酸盐作为电子受体被还原为硫化物。...
标题 "aom.zip_3344aom_aom.avcom_av1_h264_zip" 暗示了这是一个与视频编码相关的压缩文件,其中包含了AV1编码器的源代码,可能还有与H264编码的对比或转换相关的资料。描述 "av1 codec source open c++" 明确指出这...
"AOM中IE、Firefox兼容Enter代替Tab的Javascript"这个主题关注的是如何在不同的浏览器环境中,尤其是IE和Firefox中,使用JavaScript实现按下回车键(Enter)时模拟Tab键的效果,以实现元素间的焦点切换。 首先,我们...
本文将深入探讨“第二波又来了:AOM3.2之8款皮肤分享(for extjs3.31)”这个主题,这是一次针对AOM(Opera Masks)3.2版本发布的皮肤更新,特别设计以兼容ExtJS 3.3.1框架。 AOM,全称Antelope on the Moon,是一个...
【X-AOM权识区块链新经济 - 泛AI时代投资多元的解决方案】 X-AOM权识区块链新经济项目旨在利用区块链技术,特别是在泛人工智能(AI)时代,为投资者提供多元化投资的策略。该项目的核心目标是建立一个全球化的平台...
在JavaScript的世界里,AOM(Accessibility Object Model)是一种新兴的标准,它旨在提升Web内容的可访问性,使得残障人士能够更好地与网页交互。AOM是Web开发领域中一个非常重要的概念,它与DOM(Document Object ...
文章标题提到的“X-AOM_权识区块链新经济 -泛AI时代投资多元的解决方案”是关于在人工智能(AI)时代背景下,利用区块链技术创造新的经济模式和投资策略的探讨。在这个新经济模型中,核心理念是“谁分享数据,谁受益...