以上所划分的各个模块逻辑功能完全相互独立,每个模块可以单独设计实现,各个模块的功能实现互不影响,符合软件设计思想。每个模块设计过程按照MVC设计模式,便于又快又好地开发Web应用程序,也提高了代码的文护性将各模块划分为模型层(Model)、视图层(View)和控制层(Controller)三个层次。View处于Web Tier或者说是Client Tier,通常是JSP/Servlet,即页面显示部分。Controller也处于Web Tier,过去通常用Servlet、Struts来实现,Model处于Middle Tier,通常用服务端的javaBean或者EJB实现,即业务逻辑部分的实现,本系统采用javaBean。
4.2 详细设计
上述的总体设计部分已经将该系统的模块进行了详细划分,但鉴于模块过多,在这里不对所有模块的详细设计过程进行累述,只把其中具有代表意义的用户注册模块的详细设计过程进行介绍,其它模块设计原理和过程与此模块类似,都是根据MVC模式设计原理,将模块分为三个部分:模型层、视图层和控制层进行独立设计。
这里先对整个系统的模型层作一些简单介绍。根据数据库设计中的表的详细信息,系统创建10个具体的POJO类,类名与表名相对应,分别为:Memberinfo、Memberspace、Pointaction、Pointrecord、Blackrecord、Friendrecord、Messagerecord、Province、Graderecord和Article,为了体现真的借口编程的思想,所有的POJO类都继承了BaseBean这一基类。
由于采用了hibernate技术来进行数据库持久化操作,所以在模型层设计中POJO类和相对应的数据库表的映射关系是重点。该系统所有的映射文件都以“.hbm.xml”结尾,为了方便管理,所有的POJO类和相对应的映射文件统一放在一个包中。
4.2.1 模型层设计
用户注册模块涉及到三个POJO类:Memberinfo、Pointaction和Pointrecord,相对应的映射文件也有三个:Memberinfo.hbm.xml、Pointaction.hbm.xml和Pointrecord.hbm.xml,下面对每个类及其对应的映射文件内容进行描述:辣-文^论'文.网http://www.751com.cn
1. Memberinfo和Memberinfo.hbm.xml
(1)Memberinfo:
public class Memberinfo extends BaseBean {
private static final long serialVersionUID = -9131116922705375165L;
private Long id;
private Graderecord graderecord;
private String nickname;
private String password;
private String gender;
private Long age;
private String email;
private String provincecity;
private String address;
private String phone;
private String passwordquestion;
private String passwordanswer;
private String recommender;
private Long point;
private Date registerdate;
private Date latestdate;
private Long status;
private Long isonline;
private Long adminFlag;
private Integer memberNum;
private Memberspace memberSpace;
@SuppressWarnings("unchecked")
private Set articles = new HashSet(0);
public Memberinfo() {
}
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
//省略了其他属性的get,set方法
}
(2)Memberinfo.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
<hibernate-mapping package="com.xxl.sport.dao.bean">
<class name="Memberinfo" table="MEMBERINFO" lazy="true">
<id name="id" type="java.lang.Long">
<column name="ID" precision="22" scale="0" />
<generator class="sequence">
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页