嗯,这篇文章是用来拨开迷雾的
在学校里面学到很多的概念,常常都会和实际有偏差,比如,如何做一个项目,那么就是一堆的需求表,设计表,然后来类设计的各种规范,各种要求。。。一下子头晕
初出茅庐的学生们需要谋生,这样的开发流程会让他们无所适从,一边动手做着项目,一边觉得学校的教育无可奈何,不幸的,我就经历了这么一个过程
来一个学生成绩管理系统来调侃一下
做一个学生成绩管理系统,要求:
1. b/s架构,基于j2ee,使用数据库
2. 实现多用户的增删改读
3. 使用hibernate实现后台数据库的高效访问
4. 使用struts保证提供给客户的操作界面可以随时更改
学生成绩管理系统?哦,my god,是B/S结构,设计是谁来做?有什么类对象,E-R关系图?文档?。。。这类问题堆在一起,想一下子解决,自己首先就完蛋
来一个实际的例子,让我们共同完成,首先,什么是成绩管理,很简单,首先就是成绩的增删改读,于是代码来了。。。
class ScoreManager
showScore() {}
addScore() {}
removeScore() {}
modifyScore() {}
}
剩下就是填空,呵呵,这个时候,突然老板说,不对,我需要B/S结构,数据需要存在数据库里面,OK,选择了一个j2ee的框架,于是代码变成。。。
import jdbc;
import servlet
class ScoreManager extends HttpServlet {
doGet() {
if (show) {}
else if (add) {}
else if (remove) {}
else if (modify) {}
}
showScore() {}
addScore() {}
removeScore() {}
modifyScore() {}
}
老板又来一个要求,我希望实现的系统,是可以管理多个学生的
import jdbc;
import servlet
class ScoreManager extends HttpServlet {
doGet(request) {
name = request.getParameter("name");
if (show) {}
else if (add) {}
else if (remove) {}
else if (modify) {}
}
showScore(name) {}
addScore(name) {}
removeScore(name) {}
modifyScore(name) {}
}
加了一个参数,OK,多个学生也搞定了,这个时候,老板又来了,听说hibernate不错。。。只好拿起hibernate的数,把jdbc去掉,然后用hibernate,代码只要改一下import就好
import hibernate; // import jdbc
老板总是很多要求的:页面,要常常修改,不能老是一个样,这个时候,只能再来做一个
import struts;
doGet(request, response) { use struts...}
好了,到了这个时候,大功告成,这里面用了什么秘诀?很简单的,那就是,找到核心需求,逐步添加其他功能。。。
所以,如果一个项目来了,先尝试把核心找出来,然后,在这个核心上,开始轮流加功能吧