一个MVC的简单案例

正在作个一个比较蛋疼的项目,发现有些东西不知道怎么抽象出来,可是有些东西仍是抽象的出来的,并且简单粗暴,有固定的套路,结合手头的资料总结一下这些至关有规律的东西。数据库

范例:质量分析系统

0、MVC到底在说什么

clipboard.png

一、需求描述

本系统的目的是收集生产过程当中的数据,并对数据进行处理、分析(调用matlab),同时给出系统的稳定性的判断,并给出智能化的建议。restful

  1. 普通用户须要有数据读取/写入/分析的权限。
  2. 管理员须要有管理普通用户和日志的权限,也要有要有数据读取/写入/分析的权限。

二、用例分析

clipboard.png

三、功能设计

并不完善也不是原来所须要的功能,这里所给出的功能只不过是是为了设计而设计。
在这个阶段能够顺便设计URL样式(restful等)。数据库设计

clipboard.png

四、数据库设计

一个并不完整的数据库设计:ide

clipboard.png

五、程序结构设计

com.kms.config
com.kms.model
com.kms.action
com.kms.common
com.kms.dao
com.kms.service

六、数据模型设计

普通用户数据模型:ui

public class User {
        private String username;
        private String password;
        private String email;
        private String truename;
        private String identify;
        private int uid;
        private String phone;
        private String address;
        private String exist;
        private String status;
        private String group;
//省略getter、setter方法

管理员数据模型:编码

public class Admin {
        private String username;
        private String password;
        private String email;
        private String truename;
        private String identify;
        private int uid;
        private String phone;
        private String address;
        private String exist;
        private String status;
        private String group;
        private List<KmsLog> LogList;
//一、省略getter、setter方法
//二、发散性地说,这里的List更适合作为“在userbean中存储购物车”这种状况。

七、数据访问接口/业务逻辑接口

这段的目的就是严格按照MVC视图中的“数据访问接口”来进行编码,例如:spa

public interface BaseDao<T,ID extends Serializable>{
    void insert(T obj);//添加
    void update(T obj);//修改
    void delete(ID id);//跟随主键
    List<T> findAll();//查询
    List<T> findPage(int pageSize,int pageNo);//分页
    int findCount();//计算总数
}
public interface IsAdmin(){
    boolean AdminAuth(String name,String password);//判断是不是管理员的interface
}

<pre><code><br /></code></pre>

public interface LogService{//用于日志获取、增删改查
    void addLog(KmsLog kmslog);
    void deleteLog(KmsLog kmslog);
    List<KmsLog> findLogsByPage(Integer pageSize,Integer pageNo);
    Integer getLogCount();
}

八、实现接口

九、界面设计

相关文章
相关标签/搜索