zoukankan      html  css  js  c++  java
  • 被推到的设计-遁地龙卷风

    公司加班的报销流程是很繁琐的,我打算做个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 = yyyyMMddE

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

    columnName  列名

    order 源数据位置

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

    2.抽象编程

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

    ruleName  这个是要实例化的类名

    originFormat 源数据格式

    nowFormat 被转换后的格式

    3.mvc

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

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

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

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

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

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

     

  • 相关阅读:
    1380. Lucky Numbers in a Matrix
    672. Bulb Switcher II
    1375. Bulb Switcher III
    1376. Time Needed to Inform All Employees
    1372. Longest ZigZag Path in a Binary Tree
    PHP中curl_multi并发详解【转】
    php中$_REQUEST、$_POST、$_GET的区别【转】
    Post请求的两种编码格式:application/x-www-form-urlencoded和multipart/form-data【转】
    PHP $_FILES函数详解【转】
    php接收二进制流【转】
  • 原文地址:https://www.cnblogs.com/resolvent/p/6502478.html
Copyright © 2011-2022 走看看