MVC模式的优点主要包含三个方面:耦合性低、扩展性好、明确划分模块职责。其具体的模式图见图1-1。
图1-1 MVC模式图
Spring MVC:是J2EE开发中最常用的框架,在开发过程使用该框架可以给程序带来很多便捷之处。使用Spring MVC,可以让框架自动传送进来的参数填充到模型对象中,同时框架还提供了验证和错误之处[5]。Spring实现了面向切面编程:面向切面编程是Spring MVC的一个很强的功用,可以将程序中的业务代码和系统服务代码分离开,在业务逻辑完全不知道的情况下为其服务[6]。
Hibernate:Hibernate框架以优良的设计大大提高了数据库访问层的开发效率,而且通过对数据访问中各种资源和数据的缓存调度,实现了更新得到性能[5]。Hibernate是将数据库中的表当成是程序中一个类来进行操作,表中的字段就是类中的属性。Hibernate在使用时只需要在配置文件中配置数据连接池,创建数据库中的对应表的类,就可以通过操作这些类来操作数据库。
Spring MVC结合Hibernate框架在使用的时候,在Spring MVC的配置文件中,实例化一个SessionFactory对象,并且通过这个对象将Spring MVC和Hibernate结合起来,对数据库进行持久化操作。程序层次分明,松散了程序之间的耦合度。
1。2。3 Android简介
Android由谷歌发布的一种开源手机系统,是第一个完全定制、开放和免费的手机平台,同时Android具有较好的可移植性,它可以应用于手机、平板电脑、电脑等一些移动设备[7]。
Android系统的底层建立在Linux系统之上,该平台由操作系统、中间件、用户界面和应用软件4层组成,它采用一种被称作为软件叠层(Software Stack)的方式进行构建[8]。Android的架构图见图1-2。
图1-2 Android的架构图
Android系统四大组件分别是活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)[9]。
1。2。4 设计模式文献综述
在本软件实现中主要使用到的设计模式有三种:Android 的MVC模式、单例模式以及适配器模式。
Android中的MVC:在Android项目开发中, MVC框架模式在开发模式中是很流行的一种模式,那么在Android中同样也可以使用MVC模式。
M层:主要是一些业务逻辑上的操作,比如网络操作、对数据库操作和一些很耗时的操作都可以放在这一层来处理;V层:Android中有很多布局文件(xml文件),这些布局文件就可以视为V层,所有给用户可以看到的界面都是通过着一些来体现;C层:活动(Activity,Android的四大组件之一)可视为是控制层,主要是读取视图层的数据,并将得到的数据向Model发送请求,同时也处理这些返回的数据通过V层呈现给用户。在MVC模式中,可以发现,控制器也就是Activity将View和Model分离开来,在二者面前起到一种交互和解耦作用,实现二者之间的通信。但是,在Activity中有很多关于显示视图的代码,所以,这也就说明了Activity和View并不是完全的分离,部分视图和控制器是绑定在一个类中。
单例模式(Singleton Pattern):单例模式在Android项目开发中也是常用的一种设计模式,也是最简单的一种设计模式。在单例模式中,主要意图就是保证一个类仅有一个实例并且提供一个全局访问点。单例模式需要保证自己唯一的一个实例对象,所以必然需要并发控制。
单例模式的结构图见图1-3。
图1-3 单例模式的结构图
适配器模式:Android中适配器的作用是将数据和视图结合起来,并将数据显示在View中。可以通俗的来说适配器就是可以将数据按照人为的想法展现出来。BaseAdapter一般的适配器基类应用于将数据绑定在ListView、Galley、GridView、Spinner、AutoCompleteTextView、ExpandableListView上。有关BaseAdapter的相关类图如下图1-4所示。