笔者在大学中迷迷糊糊地度过了四年的光景,心中有那么一点目标,但总感觉找不到发力的方向。
在四年间,尝试写过代码结构糟糕,没有意义的课程设计,尝试捣鼓过Android开发,尝试探索过软件工程在实际开发中的应用,尝试参与过.net的实际应用项目开发。
在经历了这些探索之后,我突然发现一些代码在实现业务功能的同时,还能保持优美的结构,这让我很着迷,有一种莫名其妙的兴奋感。
基于这个发现,我开始探寻这些代码拥有迷人魔力的原因,迷迷糊糊地又接触到了设计模式,系统架构设计的概念。
在大学的最后,我希望再一次对我感兴趣的东西作出任性的探索,于是我决定开始从头开始学习Java Web 的相关知识,再从Java Web 中衍生学习Struts2,Spring4,Hibernate4 这三个久负盛名的框架。借着毕业设计的契机,感受这三个框架迷人的地方到底在哪里?为什么这么多年过去了这三个框架的热度依然不减?采用这三个框架开发的系统的代码结构会是怎样?
于是便有了本篇博文,在探索的最后,示例系统虽然还有很多需要完善的地方,但实现的效果也还能够令笔者满意。笔者会将这篇博文分成7章与大家进行分享。
首先是需求分析,介绍笔者对需求分析的理解,以及笔者在需求分析中做了哪些工作,这些工作的完成的先后次序如何排列,每一项工作的意义何在。
接下来的是概要设计,介绍笔者如何在需求分析,以及对框架的认识下对系统进行了总体架构的设计,还有每个功能在该架构下是如何实现的。
再接下来的是详细设计,介绍笔者在概要设计中总结出来的接口,以及对各层次中类与类之间的依赖关系进行设计。
最后是系统的编码实现部分,这个部分笔者会再分为四个部分,分别是1、编码的准备,介绍笔者的开发环境,代码的目录结构和框架的整合步骤。2、表单的提交和数据的回显。3、图片的上传和展示。4、测试代码。
以下是每个部分的链接:
在这篇博文接近尾声之际,我要感谢@Eva老师,老师的一堂软件工程课程设计,让我重新认识了计算机软件实际开发的流程,以及后续的实践指导,可能真的打开了一扇新世界的大门。我要感谢互联网上的提供着各种学习资源的各位,因为在我探索的过程中所有的学习资源都来自于各位的无私奉献。为了向各位学习,笔者也写下这一系列的博文,向大家分享在这探索途中所收获到的认识。我要感谢我的母校,虽然这所学校就像我所做的示例系统一样,有很多的不足,但我也是在这所学校中成长起来的,这离不开全体教职工的努力,现实中完成每一件事都不容易,多一份理解,多一份宽容,多一份尊重。
最后,我希望这个系列的文章和代码能够使用在正确的用途上!
最后的最后,如果您觉得我完成的内容以及记录的文字确实写得不错,您也可以请我喝杯咖啡啊!哈哈!
基于Struts2,Spring4,Hibernate4框架的系统架构设计与示例系统实现的更多相关文章
-
SSH(Struts2+Spring4+Hibernate4)框架教程之配置篇
SSH(Struts2+Spring4+Hibernate4)框架教程之配置篇 - 若明天不见 - 博客频道 - CSDN.NEThttp://blog.csdn.net/why_still_conf ...
-
Maven+struts2+spring4+hibernate4的环境搭建
搭建Maven+struts2+spring4+hibernate4其实并不难!但开始弄的时候还是费了我好大的力气,老是出现这样那样的错误!好了,废话不多说,开始搭建开发环境. 一.Myeclipse ...
-
NET ERP系统架构设计
解析大型.NET ERP系统架构设计 Framework+ Application 设计模式 我对大型系统的理解,从数量上面来讲,源代码超过百万行以上,系统有超过300个以上的功能,从质量上来讲系统应 ...
-
【原创】基于Docker的CaaS容器云平台架构设计及市场分析
基于Docker的CaaS容器云平台架构设计及市场分析 ---转载请注明出处,多谢!--- 1 项目背景---概述: “在移动互联网时代,企业需要寻找新的软件交付流程和IT架构,从而实现架构平台化,交 ...
-
vivo 全球商城:优惠券系统架构设计与实践
一.业务背景 优惠券是电商常见的营销手段,具有灵活的特点,既可以作为促销活动的载体,也是重要的引流入口.优惠券系统是vivo商城营销模块中一个重要组成部分,早在15年vivo商城还是单体应用时,优惠券 ...
-
基于token的多平台身份认证架构设计
基于token的多平台身份认证架构设计 1 概述 在存在账号体系的信息系统中,对身份的鉴定是非常重要的事情. 随着移动互联网时代到来,客户端的类型越来越多, 逐渐出现了 一个服务器,N个客户端的格 ...
-
PetShop的系统架构设计
<解剖PetShop>系列 一.PetShop的系统架构设计 http://www.cnblogs.com/wayfarer/archive/2007/03/23/375382.html ...
-
petshop4.0 具体解释之中的一个(系统架构设计)
前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力.业界有很多.Net与J2EE之争,很多数据是从微软的PetShop和Sun的PetStore而来.这样的争论不可避免带有浓厚的 ...
-
图数据库 Nebula Graph 的数据模型和系统架构设计
Nebula Graph:一个开源的分布式图数据库.作为唯一能够存储万亿个带属性的节点和边的在线图数据库,Nebula Graph 不仅能够在高并发场景下满足毫秒级的低时延查询要求,而且能够提供极高的 ...
随机推荐
-
U盘因为装linux系统变小了
U盘在Windows下被UltraISO等软件制作成Linux启动盘后会自动被格式化成FAT格式,导致容量变小. 用DiskGenius去修复 http://www.jb51.net/softs/75 ...
-
python下编译py成pyc和pyo
python下编译py成pyc和pyo 其实很简单, 用 python -m py_compile file.py python -m py_compile /root/src/{file1,f ...
-
夺命雷公狗—angularjs—21—解决angularjs压缩问题
我们在实际的开发中往往离不开js的代码压缩,因为这样可以减轻服务器的压力,是的的方法如下所示: <!DOCTYPE html> <html lang="en" n ...
-
A - Red and Black(3.2.1)(小递归)
Description There is a rectangular room, covered with square tiles. Each tile is colored either red ...
-
SQLServer 工具技巧
SQLServerProfiler 的使用 http://www.jikexueyuan.com/course/1712.html
-
python虚拟环境搭建大全(转)
Pipenv & 虚拟环境 本教程将引导您完成安装和使用 Python 包. 它将向您展示如何安装和使用必要的工具,并就最佳做法做出强烈推荐.请记住, Python 用于许多不同的目的.准确地 ...
-
POJ 3662	Telephone Lines (二分 + 最短路)
Farmer John wants to set up a telephone line at his farm. Unfortunately, the phone company is uncoop ...
-
wamp3.1.0 X64下载链接
Wamp3.1.0 X64下载 链接:https://pan.baidu.com/s/1UUU62whfUtiH2_nGFKdQAg 密码:h92l
-
ubuntu16.04忘了root密码
1.开机点击ESC,进去GUN GRUB界面 2.选择有recovery mode的选项,按e进入命令行 3.找到有recovery nomodeset的行,删除recovery nomodeset, ...
-
洛咕 P2403 [SDOI2010]所驼门王的宝藏
简单tarjan. 一行的横天门如果暴力连边会被卡成平方,所以只要相邻两个横天门连双向边,再随便选一个横天门向整行连边即可.纵寰门同理.ziyou门直接map暴力连边. 然后tarjan直接dp. / ...