[問題] 請問如何將code不要寫死,不需要重新編譯code就有擴充性

看板java作者 (挺)時間16年前 (2009/10/16 16:54), 編輯推噓8(8013)
留言21則, 7人參與, 最新討論串1/1
請問大家如何將code不要寫死,不需要重新編譯code就有擴充性 比如說 1.1 寫一個網頁有"兩個事件選項"可以讓你選擇一,並將data寫入google日曆 (前端介面) 相對 1.2 "已知有兩個事件選項"並區分事件從google日曆抓出,寫入DB. (後端介面) PS:一天中會做"看書"、"吃飯" 、"看書"...等 很多事件, 這些事件要從google日曆抓出全部事項並計算每個事件花費時間再區分事件寫入DB" PS:區分資料我是使用 這是google api 提供 myQuery.setFullTextQuery("事件一"); 因為Google提供這api只能查詢一件事件, 要抓取大量事件資料時,需要時常連線google抓取想要資料 這樣做會花很多時間 所以我改寫 if (title.equals("事件一") || title.equals("事件二")) { .......... } 當抓出gooele日曆一天所有事件,再區分事次件 可以省下很多時間 以上Code已經寫好了 -------------------------------------------------------------------------------------------------------------------------------- 現在要改成 2.1 如果要將原本兩個選項"擴充,新增" 第多個 事件選項(三個四個以上)(前端介面) 相對 2.2 "已知有多個事件選項"並分別從google日曆抓出,寫入DB. (後端介面) -------------------------------------------------------------------------------------------------------------------------------- 目前我知道重新改寫解決這問題,如果 不能改寫code重新編譯,要如何 設計 撰寫 呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.240.197.117

10/16 20:18, , 1F
OOAD要讀,四個字封裝變化.
10/16 20:18, 1F

10/16 21:05, , 2F
這不只是OOAD了吧?
10/16 21:05, 2F

10/16 21:45, , 3F
讀取外部設定檔案~例如 XML
10/16 21:45, 3F

10/16 21:58, , 4F
引數不同 應該不單單只是XML
10/16 21:58, 4F

10/16 22:01, , 5F
Strategy Pattern? 我其實不是完全看懂原PO的意思
10/16 22:01, 5F

10/16 22:02, , 6F
假設 無法預知長度的事件 可使用 iterator pattern
10/16 22:02, 6F

10/17 00:05, , 7F
直覺得想到策略模式
10/17 00:05, 7F

10/17 21:11, , 8F
外部設定檔,是抓取前端所有事件事相
10/17 21:11, 8F

10/17 21:13, , 9F
前端有五個事件選項,後端就要有五個選項區分寫入DB
10/17 21:13, 9F

10/17 21:18, , 10F
前端有五個選項讓你選擇其中一個事件後寫入GOOGLE日曆
10/17 21:18, 10F

10/17 21:20, , 11F
要事先得知 前端有五個選項,從google 日曆抓取時
10/17 21:20, 11F

10/17 21:23, , 12F
區分五個事件選項分別寫入自己DB
10/17 21:23, 12F

10/17 22:10, , 13F
要不重新編譯,要就是(已經)有設計,不然就只好用
10/17 22:10, 13F

10/17 22:12, , 14F
reflection(雖然也要設計過....)
10/17 22:12, 14F

10/17 22:21, , 15F
我看了一下Spring事可做到Collection inject
10/17 22:21, 15F

10/17 22:23, , 16F
假設用string array 注入 且拿來作reflect 相同介面 科
10/17 22:23, 16F

10/18 00:10, , 17F
如果這些新增程序沒有一般化的流程,再怎麼做都很難處理.
10/18 00:10, 17F

10/18 01:07, , 18F
樓上提的也是我前頭說的 看不太懂原PO意思的原因orz
10/18 01:07, 18F

10/18 15:05, , 19F
對不起~自己表達能力差,請問大家我哪邊沒說清楚,
10/18 15:05, 19F

10/18 15:41, , 20F
把程式貼出來,或簡化過的類別圖虛擬碼,再描述運作結構(循序圖
10/18 15:41, 20F

10/18 23:35, , 21F
且 不是每個人都用過google行事曆(逃)
10/18 23:35, 21F
文章代碼(AID): #1As3JIvq (java)