论文部分内容阅读
随着计算机应用和互联网的飞速发展,人类社会渐渐步入了信息社会,世界各地都建有展览馆来展示当代的文化、科技和产品,但并非每一个人都可以花费昂贵的交通住宿费用去参观和游玩每一个展览馆,为了解决这个问题一个新的应用诞生了:虚拟展览馆,它是指在互联网上以3D虚拟现实的方式展现现实中的展览馆,通过软件的交互设计模拟实体展览的各种功能。虚拟展览馆的并不只是实体的简单复制,它的功能比较复杂,开发技术也比较尖端。所以在开发虚拟展览馆软件的过程中所隐含的问题日益显著,领域专家专注于具体的展览馆的业务逻辑,但是并不了解程序是如何开发的,而开发人员对系统涉及的业务逻辑的理解是很模糊的,领域专家和开发人员之间存在交流的障碍,最终导致需求信息无法清晰明了的被表达出来。为了解决这个复杂的问题,本文通过对领域模型的分析,引入了充血模型,越过问题域的表象介绍其底层的结构,给软件开发人员提供所需要的方法。充血模型给这个复杂的系统进行了层次的划分,将整个系统分为四层,从上至下分别为展示层、服务层、领域层、基础设施层。其核心在于领域层,它关注领域知识和业务逻辑,便于以后的扩展和维护,拥有单一职责的特点,最大的优点就是面向对象。该虚拟展览馆系统基于B/S架构,使用了目前J2EE流行的开源框架Spring和Ibatis来实现对充血模型的技术支持。基于Spring的annotation实现服务层和领域层中领域对象的依赖注入,基于Spring的AOP实现服务层中service的事务管理,基于SpringMVC实现充血模型的MVC架构。前端3D部分为单页面,将X3D引擎内嵌于某个页面上,基于Ajax实现展示层中界面的部分刷新,减少网络流量,提高用户体验。虚拟展览馆系统引入了充血模型之后,大大降低了开发领域逻辑的难度,清晰的层次结构满足了虚拟展览馆系统的需求。