一 现有系统分析
现有系统涉及33张表,包括各种复杂业务逻辑。
现在的需求是,裁剪现有系统到最小,使之能成为一个项目模板,然后对该模板进行增量开发,形成一个新的系统。
这里只谈裁剪,不谈增量开发。
那么怎样裁剪呢?下面谈谈裁剪的过程。
二 分析数据表
对系统进行裁剪的前提条件之一:必须对系统各张数据表的用途非常熟悉,必须区分出哪些是系统基础表,哪些是业务表。基础表是不能裁剪的,我们只能删除业务表。
经过分析,只有下面几张表是基础表,也就是说我们必须保留这些表。
用户表:accout_info
数据字典表:data_dictionary
角色信息表:role_info
系统配置表:system_config_info
系统日志表:system_log
系统菜单表:system_menu
一般的信息管理系统都包括上面这些表,可根据实际情况进行区分。
其他表都是业务表,也就是我们可以干掉的表。
三 裁剪代码
将业务表相关的代码都干掉。先删除控制层,再删除service层,最后删除DAO层和实体类,注意先删代码,数据库不要动。代码不要一次性删太多,边删边调试边运行,这样不会因为删得太多,导致项目一直运行不起来,影响调错。
经过反复删除,最后模板项目的代码结构如下。
从这两张图可以看到:基础性代码基本都保留了,业务层代码基本都删掉了。
删完后,要保证代码可运行,业务功能不可用,基础功能都可用。
四 裁剪数据表
裁剪业务表,将不相干的业务表都删除,最后只保留了下面6张表。
用户表:accout_info
数据字典表:data_dictionary
角色信息表:role_info
系统配置表:system_config_info
系统日志表:system_log
系统菜单表:system_menu
再次运行,依然要保证代码可运行,业务功能不可用,基础功能都可用。
调整上面6张表中数据。
将不必要的数据删除。例如:日志表的数据都可删除,菜单表数据可删除不用的,用户表就只保留几个关键用户。
修改表中的数据。例如:系统配置表根据实际情况进行修改。
调整完后,依然要保证代码可运行,业务功能不可用,基础功能都可用。
五 对裁剪后的代码进行优化
1 分析裁剪后的代码
学习裁剪后的代码中的基础性代码,系统的架构一般是由这部分代码决定的。也可借此机会提升自己的架构能力。
2 修正裁剪后的代码
裁剪后的代码不一定是最完美的,可根据需要进行定制和修改。