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

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

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

     

  • 相关阅读:
    用 Python 脚本实现对 Linux 服务器的监控
    linux系统常用命令
    一小时学会用Python Socket 开发可并发的FTP服务器!!
    Python获取程序运行目录和脚本目录
    哪些情况会导致OOM
    如何查看端口状态
    wait(),sleep(),notify(),join()
    cookie和session的区别与会话跟踪技术
    TCP的可靠性
    OSI和TCP/IP的对比+IP地址分类
  • 原文地址:https://www.cnblogs.com/resolvent/p/6502478.html
Copyright © 2011-2022 走看看