被推到的设计-遁地龙卷风

公司加班的报销流程是很繁琐的,我打算做个swing程序实现自动化

原操作规范如下:

  1.部门很多人的加班信息都在一个excel表里,共计5列

  2.将符合规则的信息黏出来,放到另一张表里,共计12列,源数据还要做一些格式上的转换,并填写其他列

刚看完<<headfirst设计模式>>,觉得可以再这个程序上实践一下,画完了加班规则流程图后,我给自己画了一张大饼

1.界面要是可配置的

rule.key = data,startTime,endTime,name,project,isTaxi,meal,car,sum,total,info

data.columnName = 日期

data.order = 2

data.mapValue = 1

data.ruleName = DateRule

data.originFormat = yyyy/MM/dd

data.nowFormat = yyyy年MM月dd日E

rule.key 配置将要生成的表格的列

columnName 列名

order 源数据位置

mapValue 映射到生成表格的列的位置

2.抽象编程

将每个生成表格的列看做一个规则,写一个抽象类,子类继承该类,利用多态的特性,实现自动化处理

ruleName 这个是要实例化的类名

originFormat 源数据格式

nowFormat 被转换后的格式

3.mvc

界面与模型完全独立,通过控制器中转数据,界面与控制器通过观察者模式互相通信

然后呢,在实践的过程中,觉的既然要读取配置文件,界面也要给点提示才行,要把多线程也用上,要减少代码的复用,要做到功能分块,变量名取的有意义…

shift!真想穿梭时光回去给自己两脚,显你会的多是不,屁大点程序你还要上天,有意思吗?至于吗?多长时间了还没做出来!下一个月的报销都来了。

于是乎痛定思痛,什么oo设计原则都抛置脑后,在一个ActionListener里完成的全部的功能,不到两百行代码,不过10几分钟。

我仿佛回到那个嗅觉敏锐的自己,看到问题回去改动几处代码,反复调试了几次,我感到酣畅淋漓,将这个月的加班数据方到程序中,几秒钟完成了加班统计

倘若成为规则的奴隶,自己会慢慢变得麻木,变得不再相信自己,编程也将没有乐趣。

也有善意的提醒:何不去远方!昆明呀——赶一个花海;

被推到的设计-遁地龙卷风

相关文章:

你感兴趣的文章:

标签云: