后续改进:
除了将实验1到实验4,整合做出一个项目。还有很多提高编程能力的项目,可以尝试设计、编码:
了解工作事务流。
适配器模式,实现数据类型转换。
创建型的原型模式,从一个javabean得到另一个javabean。
策略模式、模板方法模式,实现不同的排课算法。
外观模式,把排课算法封装成一个工具类。
装饰模式、代理模式,实现函数执行前后触发拦截器功能,比如行为统计、时长统计和用户积分处理。
装饰模式、责任链模式,实现多个拦截器。
使用观察者模式,业务类包含主题Subject(不要继承Subject)。执行函数前后,发出消息,由观察者完成行为统计和用户积分处理。
宏命令,实现批量处理;自动发出消息,实现批量化测试。
熟悉JSON、xml、map格式的数据处理,用javascript、python改写实验3、实验4的程序。
其他应用类项目:
设计一款客户端、服务端软件。
使用第三方网络接口,查询股票信息。
学习Model、View、Control架构。不同专业方向,View差别很大、Control基本接近。不同终端,Model可能不同。
设计一个功能全面的图书管理系统。图书管理系统,同样是由增删改查、用户权限、工作事务流、用户行为统计和积分管理、数据汇总和统计分析,五部分组成。
一、后台工程师
当SSH、SSM框架的拦截器技术更新换代,用装饰模式一样可以实现多种功能,完成面向切面编程。
应用装饰模式,使得程序不变、替换JAR包,动态改变业务功能。
使用装饰模式,实现以下功能:
检查用户是否已登录
获取用户身份
判断用户是否有当前操作的权限
记录用户看网页的起始时间、结束时间,看视频的起止时间,计算时长
根据积分规则,增加用户积分
积分规则作为独立的JAR包、插件、补丁。
规则1:看文章不足1分钟,积分为0. 看视频不足1分钟,积分为0.
看视频累计10分钟,积6分,上限6分。
规则2:打开文章积1分,不限时间. 看视频累计10分钟,积6分。后续每多看5分钟,增加0.5分,无上限。
规则3:分数增加较快的项目,降低权重。
了解电商网站程序不变,使用数据库设计,实现一项或多项优惠活动;或者使用JAR包(或者XML等配置文件),实现优惠规则的动态变化。
二、前端工程师
1.使用jq、jQuery、html、H5、jsp等技术,制作彩色课程表。
了解后台用java语句生成一张图片,发送到网页上显示(验证码技术)。
2.课程表的两种展示方式:
(1)一张课程表,展示整个学期的课程。比如:周一,第1大节,6-9周体系结构,11-14周人机交互。
(2)按周分页,每次展示某一周的课程。
3. 交换课程:
(1)点击某节课,变为选中状态。点击另一节课,变为选中状态。点击交换按钮,两节课交换。
(2)拖动某节课,到一个新的空闲时间段;拖动某节课到另一节课上,两节课交换。
4. 双击某节课,点击确认对话框后,删除一节课。
5. 拖拽鼠标,画出选择框,覆盖的课程同时被选中。
6.录入成绩时,假设有90行、6列的成绩输入框。
(1)按方向键,使相邻的另一个输入框激活。
(2)录入成绩时,每输完一个成绩,按Tab键激活右侧输入框,按回车键激活下方输入框,按Q键激活左侧输入框。按键可以自定义。
前端的表单组件、表格,后台的增删改查,这都属于通用功能。复杂的功能、插件库没有的功能,需要编程技术能力实现。