作者:Flyingis

素描工具: Struts + Hibernate 3

素描对象:一个足够简单的基于 MVC 的 Web 应用

目的:使用 Struts 分离业务逻辑与表现,使用 Hibernate 分离数据操作与业务逻辑,整理一种基本的 MVC 开发思路。

1. 素描框架

该素描主要体现在系统层次的功能划分,系统结构的组织与设计上,素描足够简单,数据库中只涉及一张表:

学生信息(学生编号、姓名、性别、年龄、专业信息)--Student( id, name, gender, age, specialty_id )

  • 系统设计

公共类的设计与实现

各模块的详细设计,主要描述一个基本的 CRUD 操作,以及对象数据传递

  • 系统的部署、测试与发布

2. 公共类设计

基本的 CRUD 操作封装在基本的帮助类 HibernateHelper 中,实现 Object load(Class theClass, java.io.Serializable id) 、 Query createQuery(String queryString) 、 void setQueryParameter(Query query, String name, Object val) 、 List list(Query query) 、 void save(Object o) 、 void update(Object o) 、 void delete(Object o) 、 void saveOrUpdate(Object o) 等这些基本方法。

常量单独封装在 Constants 类中。

3. 各种对象设计

  • ActionForm:StudentForm-- 用于视图层与控制层之间传递数据。
  • 接口 StudentIf-- 实现了学生数据对象 Bean 所需要的所有接口方法。
  • 学生数据对象 StudentData-- 实现了记录学生对象数据的功能,并可以用作数据交互的传输对象,它实现了接口 Serializable 和 StudentIf 。
  • 学生实体 Bean StudentBean-- 实现了学生实体的所有属性,它实现了接口 Serializable 和 StudentIf 。

4. 对象管理实现类

业务逻辑处理为项目的核心,直接关系到项目是否符合用户需求。因此,我们可以单独设计一个对象管理实现类 ManagerFacade,定义处理业务对象的CRUD操作,以增加学生信息为例public StudentIf addStudent(StudentIf student)。学生数据对象StudentData在Action中通过StudentForm接收到表现层传入的数据,然后作为ManagerFacade对象的addStudent方法的参数传入方法内,在方法体内声明学生实体StudentBean的一个对象,将学生数据对象即传入参数中的属性值赋给实体对象,然后调用公共类HibernateHelper的save方法完成数据库操作。其他基本操作与此类似,这样设计似乎对象较多,但各层之间分工明确,有利于降藕。

另外,在数据传递过程中,还会涉及到数据类型的转换,可以专门设计帮助类来完成。

5. 页面 UI 设计

除了设计美观的页面外,最重要的是页面结构要符合项目需要,并提供一定的使用体验,有时候简单实用就是最好。如果可以对用户浏览器统一规范要求,或是基本不会屏蔽 Javascript ,数据格式的控制可以放在客户端用 Javascript 实现。

6. 系统的部署、测试与发布。

MVC的一幅简单素描相关推荐

  1. 程序猿修仙之路--数据结构之你是否真的懂数组? c#socket TCP同步网络通信 用lambda表达式树替代反射 ASP.NET MVC如何做一个简单的非法登录拦截...

    程序猿修仙之路--数据结构之你是否真的懂数组? 数据结构 但凡IT江湖侠士,算法与数据结构为必修之课.早有前辈已经明确指出:程序=算法+数据结构  .要想在之后的江湖历练中通关,数据结构必不可少.数据 ...

  2. MVC的开发模式简单介绍

    MVC的开发模式简单介绍 MVC M model 模型 实体类和业务和dao dao(数据库访问对象) V view 视图 jsp C controller 控制器 servlet 作用:视图和逻辑分 ...

  3. 使用p5.js画一幅简单的风车动态效果图

    使用p5.js画一幅简单的动态风车图 因为大三互动媒体技术课程需要使用p5.js画图显示动态效果,并和自己手绘作品进行对比,查了查网上好像没有做风车相关的教程,就在这里简单介绍下吧. 工具 js编辑器 ...

  4. php怎么实现简单的mvc框架,php实现简单的MVC框架实例

    这篇文章主要介绍了php实现简单的MVC框架,较为详细的分析了php实现MVC框架的相关实现技巧与注意事项,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了php实现简单的MVC框架.分享给 ...

  5. ASP.NET MVC 多语言开发简单案例

    首先,新建一个空的MVC项目,增加一个名叫Language的文件夹用于存放资源文件,如下图所示: 在Language文件夹中,增加两个资源文件,分别用于存储中文和英文,如下图所示: 如何添加资源文件? ...

  6. Android 开发的两种框架 MVC和MVP 的简单分析

    在常见的android开发框架,有MVC和MVP两种,下面我来分别简单介绍一下. 一.MVC框架 MVC,即model(模型),view(视图),controler(控制器)三个单词的简称. 其中Mo ...

  7. 超图桌面版制作一幅简单专题图示例

    打开桌面版本8c,打开自带示例数据源 重庆: 根据数据集 main_road_0 制作一幅地图:此数据集是重庆市主要公路的一部分:制作地图见此: https://blog.csdn.net/bcbob ...

  8. Spring4 MVC + REST + List + Bootstrap 简单示例

    本篇文章,我们将教会你通过eclipse创建并转换为maven的web项目.通过spring4 mvc提供的REST方式将List对象中的值通JSTL 的c:forEach 标签输出到页面中(本篇文章 ...

  9. [前后端分离][MVC模式]JavaWeb实现简单的购物网站主体功能

    本次购物网站小项目涉及的主体功能如下: 1.商品信息显示 2.详细商品信息显示 3.浏览过的商品信息列表(以五条为轮换) 4.购物车信息的增删改查 下面将展示最终结果,描述整体设计逻辑,并解释部分重要 ...

最新文章

  1. Msql的DML、DDL、DCL的区别
  2. python使用lxml及request爬取-python+lxml 爬取网页信息及储存
  3. 【我的项目经验】——Visual Studio 插件
  4. C语言使用fopen的两点注意事项
  5. Angular 如何使用 InjectionToken 的方式得到当前 location 信息
  6. SpringBoot启动yaml报错
  7. JavaScript--我所理解的原型链
  8. python的顶级库_三大用于数据科学的顶级Python库
  9. 中判断字符串是否为空_自己动手编写VBA代码,判断一个工作表是否为空,然后删除它...
  10. Json学习总结(6)——Fastjson远程代码执行漏洞
  11. roseha 11 用VM虚拟机创建集群测试
  12. python进行删除标点符号
  13. con 元器件符号_multisim元器件符号速查
  14. # 你也可以在你的微信 or QQ头像添加小国旗了,超简单!
  15. python实现马科维茨模型的资本市场线_基于Python的马科维茨投资组合理论的实证研究...
  16. 浅谈什么是大数据?大数据可以做什么?
  17. 读书笔记——好句摘抄
  18. C++模版与特化与偏特化
  19. 微信 日志服务器 并发大,微信高性能线上日志系统xlog剖析
  20. 【开发日志-已归档】2020-09

热门文章

  1. 简书 java jvm_Java基础:Java虚拟机(JVM)
  2. 【服务器租用与托管】什么是服务器托管,为什么要进行托管呢?
  3. 通过子域名查询真实ip地址
  4. 量子计算机中证网,电子行业:全球首款纯硅量子计算机芯片诞生
  5. 2000万日订单背后,如何保障系统的高可用?
  6. 小熊派简介和环境搭建
  7. 使用HTTP免费代理IP
  8. 【移动通信】 01-移动通信概论
  9. 多米诺骨牌——变形版0,1背包问题
  10. warning Replace `············` with `······`