首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

[学生信息系统管理第二篇]包结构设计与种结构设计

2012-10-07 
[学生信息系统管理第二篇]包结构设计与类结构设计第一篇大概框架已经介绍了,这里主要对包和使用到的九个类

[学生信息系统管理第二篇]包结构设计与类结构设计
    第一篇大概框架已经介绍了,这里主要对包和使用到的九个类进行分工细化.各位看官且听我一一介绍~~
    对于包的分布,我们就用四个包来搞定:
    A.com.yping.entity,用来存放实体类,例如教师类; 
    B.com.yping.util,存放公共类,例如系统使用的常量数据;
    C.com.yping.server,存放服务器功能类;
    D.com.yping.client,存放客户端功能类;
    然后,我们对这四个包里都有哪些类进行详解:
    A.entity包:
      A.1  Teacher类,因为要通过网络传输对象,故使用序列化
    

package com.yping.entity;import java.io.Serializable;public class Teacher implements Serializable {private int id;//教员编号private String userName;//登录用户名private String passWord;//登录密码private String nickName;//教员姓名          //此处先省略getter/setter}

      A.2  Student类
     
package com.yping.entity;     import java.io.Serializable;public class Student implements Serializable {private int stuId;          //学员编号private String stuName;     //学员姓名private int teacherId;      //教员姓名private int stuAge;          //学员年龄private int stuSex; //学员性别private String comments;    //学员评语           //此处先省略setter/getter}

     B.util包:
       B.1 SysConstants类,负责提供系统使用的常量数据
       
public class SysConstants {public static final String SYS_PROPERTYNAME="sys.properties";public static final String SYS_LISTENERPORT="PORT";public static final String SYS_HOSTNAME="HOST";public static final String SYS_SUCCESS="SUCCESS";public static final String SYS_ERROR="ERROR";public static final String SYS_LOGIN="LOGIN";public static final String SYS_FIND="FIND";public static final String SYS_UPDATE="UPDATE";public static final String SYS_DELETE="DELETE";}

       B.2 Datas类,负责在客户端与服务器间传递数据
       
  package com.yping.util;import java.io.Serializable;import java.util.List;import com.yping.entity.Student;import com.yping.entity.Teacher;public class Datas implements Serializable {private String flag;         //传递的标识private Teacher teacher;         //教员对象private Student student;         //学员对象private List<Student> studentList;//学员集合       //此处先省略getter/setter}

       B.3 Tools类,负责读取sys.properties配置文件中的信息.
     
 import java.io.IOException;import java.util.Properties;public class Tools {    static    {     try{    p.load(Tools.class.getClassLoader().getResourceAsStream(SysConstants.SYS_PROPERTYNAME));    }catch(IOException e){    e.printStackTrace();    }    }    public static String getValue(String key)    {    return p.getProperty(key);    }    private static Properties p=new Properties();}

    C.Server包:
      C.1 ServerContextListener服务器线程类.加载服务端服务,包括服务端socket初始化,启动一个线程用来监听来自客户端的请求连接.
    
 package com.yping.server;public class ServerContextListener extends Thread {public static void main(String[] args) {//启动服务线程new ServerContextListener().start();}public void run(){//服务器socket初始化//处理客户端发送的请求方法//向客户端发送响应} }

      C.2 ServerService类,服务器里提供的服务类,处理相关的业务逻辑.
     
package com.yping.server;import com.yping.entity.Teacher;import com.yping.entity.Student;import java.util.*;public class ServerService {private static Teacher teacher=null; //教员对象private static List<Student> studentList=null; //学员集合static{//初始化教员对象和学员集合}public Teacher doLogin(String userName,String passWord){//服务器端的登录方法return null;}public List<Student> findStudentByTeacher(int id){//查询学员信息return null;         }public void deleteStudent(int id){//删除学员信息                     return null;         }public void updateStudent(Student student){//更新学员信息                     return null;         }}
    
     D.client包:
       D.1 ClientBusiness类,客户端业务类,包括客户端socket初始化,向服务器发送请求,实现客户端与服务器之间的业务调用.
     
package com.yping.client;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.net.Socket;public class ClientBusiness {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub}public Datas doLogin(String userName,String passWord){//通过Socket调用服务器的登录服务return null;}public Datas doFind(int teacherId){//通过Socket调用服务器的查询学员信息服务return null;}public Datas doUpdate(int stuId,String comments){//通过Socket调用服务器的修改学员信息服务return null;}public Datas doDelete(int stdId){//通过Socket调用服务器的删除学员信息服务return null;}public void initSocket()         {//实例化Socket对象}public void closeSocket(){//关闭Socket连接}    private Socket incoming=null;    private ObjectInputStream objInputStream=null;    private ObjectOutputStream objOutputStream=null;}

         D.2 Client类,客户端界面类,生成客户操作界面,调用ClientBusiness类的业务方法.
     这一篇如果排版得不好,还请各位多多包涵!有好的建议还望不吝赐教~接下会每一篇都会详细地说明各个类之间的关系,及具体的功能实现,代码编写.

热点排行