被推到的設計 遁地龍捲風

2022-05-03 03:30:09 字數 1463 閱讀 6173

公司加班的報銷流程是很繁瑣的,我打算做個swing程式實現自動化

原操作規範如下:

1.部門很多人的加班資訊都在乙個

excel

表裡,共計5列

2.將符合規則的資訊黏出來,放到另一張表裡,共計

12列,源資料還要做一些格式上的轉換,並填寫其他列

剛看完

設計模式

>>

,覺得可以再這個程式上實踐一下,畫完了加班規則流程圖後,我給自己畫了一張大餅

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日erule.key  配置將要生成的**的列

columnname  列名

order 源資料位置

mapvalue 對映到生成**的列的位置

2.抽象程式設計

將每個生成**的列看做乙個規則,寫乙個抽象類,子類繼承該類,利用多型的特性,實現自動化處理

rulename  這個是要例項化的類名

originformat 源資料格式

nowformat 被轉換後的格式

3.mvc

介面與模型完全獨立,通過控制器中轉資料,介面與控制器通過觀察者模式互相通訊

然後呢,在實踐的過程中,覺的既然要讀取配置檔案,介面也要給點提示才行,要把多執行緒也用上,要減少**的復用,要做到功能分塊,變數名取的有意義...

shift!真想穿梭時光回去給自己兩腳,顯你會的多是不,屁大點程式你還要上天,有意思嗎?至於嗎?多長時間了還沒做出來!下乙個月的報銷都來了。

於是乎痛定思痛,什麼oo設計原則都拋置腦後,在乙個

actionlistener

裡完成的全部的功能,不到兩百行**,不過

10幾分鐘。

我彷彿回到那個嗅覺敏銳的自己,看到問題回去改動幾處**,反覆除錯了幾次,我感到酣暢淋漓,將這個月的加班資料方到程式中,幾秒鐘完成了加班統計

倘若成為規則的奴隸,自己會慢慢變得麻木,變得不再相信自己,程式設計也將沒有樂趣。

HTML中的標記 遁地龍捲風

第三版 上一版本在未經驗證的情況下,盲目的認為很多東西是那樣,造成錯誤,非常抱歉。0.什麼是標記 input type checkbox checked 提示 這裡的checked id href title就是標記 1.布林標記 已checked為例 存在即應用,用來標記狀態,推薦寫法 setat...

JQuery選擇器細節 遁地龍捲風

1.層次選擇器 子元素選擇器 lol alert div p length 2 逐層遍歷符合的元素 alert body div p length 1 會定位到body的子div,然後定位子p 2.內容過濾器 has 123 var a dnf p has lol length 這樣是獲取不到的 v...

CSS3圓角邊框的使用 遁地龍捲風

0.快速入門 1.border radius詳解 border radius 50px 上右下左,水平和垂直距離都是50px border radius 50 這裡的 號是已應用該css樣式元素的長度和寬度為基數的 border radius 50 30 上下,水平垂直是50 左右,水平垂直是30 ...