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几分钟。

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

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

     

  • 相关阅读:
    洛谷八连测R7 nzhtl1477-我回来了
    String中的equals方法原理分析
    Java线程
    Spring配置日志级别报红:Caused by: org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'logging.level' to java.util.Map<java.lang.String
    # SpringMVC跨服务器上传文件出现的问题
    使用Maven创建Spring-web项目的基本流程
    Maven的下载与安装(环境变量的配置)
    eNSP的安装(附链接)
    数据库分页操作
    Sql语句占位符?的使用
  • 原文地址:https://www.cnblogs.com/resolvent/p/6502478.html
Copyright © 2011-2022 走看看