DciDao一种实现DCI的新框架

来源 :南华大学 | 被引量 : 0次 | 上传用户:billguo
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
面向对象编程思想的本意是将程序员的心智模型(Mental Model)与用户的心智模型统一于代码之中,为了人机之间的交互顺畅,程序员的心智模型与用户的心智模型必须彼此吻合,形成一种心灵相通。用户在界面前所做的工作,透过界面操纵着代码中的对象,如果程序能精确地实时反馈用户按自己心智模型操作所产生的程序状态,将会减少用户的失误。但现有的面向对象方法使用户的心智模型与程序员的心智模型存在鸿沟。虽然对象能够很好的反映系统结构,但不能准确的反映系统动作。  DCI作为一种新的面向对象方法,它关注于程序代码与用户心智模型的统一,期望反映出最终用户的心智模型中的角色及角色之间的交互。但在实践中因为现有的面向对象编程语言不能很好的支持角色这一模型,所以在代码中如何实现DCI是一个问题。  本课题先讨论用基于Java5平台的面向组合编程框架Qi4j和面向方面编程框架AspectJ,在现有面向对象语言上实现DCI架构。可以看出应用上述两种框架实现DCI都有一些不便之处:Qi4j中领域对象不是POJO对象,因此无法与Spring等常用的框架进行整合,同时也无法进行序列化。而在企业级软件中通常要求领域对象是可序列化的对象,以便进行分布式处理。另一方面利用 Qi4j来实现DCI的可读性比较差;AspectJ利用方面来实现角色方法,从而实现DCI,它的领域对象是可以序列化的POJO对象,同时代码的可读方面也比Qi4j强。由于AspectJ很容易与Spring等框架结合,故用AspectJ实现的DCI框架也能与Spring等框架整合。但用AspectJ实现DCI需要对领域对象进行标注,或者让领域对象实现角色接口,这样对领域对象进行了“入侵”,领域对象承担了许多原本不属于它的业务,与DCI中所提倡弱智能领域对象原则相背。  由于上述两种实现 DCI的方式都存在不足之处,本课题利用动态代理、标注等技术设计了一个新的DCI框架—DciDao,并将DciDao框架与 Qi4j和AspectJ实现DCI的方式进行了比较。通过比较可知DciDao框架解决了上述两个框架的不足之处,是一种更好地实现DCI的方式。
其他文献
随着web2.0的到来,数据正在以不可想象的速度快速增长,大数据时代已经来临。海量数据中蕴含着巨大的价值,高效的海量数据管理,强大的海量数据检索分析处理能力,是大数据时代有力的
随着大规模集成电路以及计算机技术的飞速发展,数字信号处理器(DSP)被广泛应用于航空航天、移动通信、工业控制等领域。然而,在大规模多DSP系统中,随着处理节点增加、通信复杂度
根据第二次全国残疾人抽样调查数据显示,当前我国视力残疾人数高达1263万。视力残疾使得视障人群无法像正常人一样便捷地获取知识和信息,而DAISY数字有声书的出现则为视障人群
Web2.0的兴起吸引了越来越多的用户为网站上传内容,在线问答网站是具有代表性的Web2.0网站之一,用户发布自己的问题,网站把这些问题分配给领域内的专家来解答。由于问题来自于用
软件系统的需求既包含系统应具备的各项功能,即功能需求(FunctionalRequirements,简称FRs),也包含施加在系统功能上的约束,即非功能需求,又称质量需求(QualityRequirements,简称QRs
随着信息时代的深化发展,人们对数据安全性的需求日益增强,因此数据库系统需要提供有效的机制对存贮其中的数据进行保护,尤其是当数据库因某种难以避免的错误而丢失数据的时候,需
随着面向服务计算的快速发展,WebService技术在近年来受到越来越多的关注并且在学术界和工业界取得了巨大的成功。服务推荐是面向服务计算中一个非常重要的研究方面,在帮助用户
P2P技术让网络中所有的客户端都能提供资源,包括带宽、存储空间和计算能力等,已经在协同工作、分布式信息或资源共享、大规模并行计算等方面显示出独特优势,并成为互联网新的
由于以处理器、内存、外存等硬件为支撑的计算机数据处理能力和计算机网络的飞速发展,起源于单处理器和高I/O延迟的计算机时代的数据库以及数据库管理系统在容量、负载以及性
如何生成高精度真实感三维人脸动画是计算机图形学和计算机视觉领域的一个重点研究课题。当前三维人脸动画建模技术应用领域十分广阔,包括影视制作、人脸识别、虚拟现实以及游