作者nation6238 (挺)
看板java
標題[問題] 請問如何將code不要寫死,不需要重新編譯code就有擴充性
時間Fri Oct 16 16:54:41 2009
請問大家如何將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
1F:→ xlk:OOAD要讀,四個字封裝變化. 10/16 20:18
2F:→ slalala:這不只是OOAD了吧? 10/16 21:05
3F:推 now99:讀取外部設定檔案~例如 XML 10/16 21:45
4F:推 slalala:引數不同 應該不單單只是XML 10/16 21:58
5F:推 slalala:Strategy Pattern? 我其實不是完全看懂原PO的意思 10/16 22:01
6F:→ slalala:假設 無法預知長度的事件 可使用 iterator pattern 10/16 22:02
7F:推 bala045:直覺得想到策略模式 10/17 00:05
8F:→ nation6238:外部設定檔,是抓取前端所有事件事相 10/17 21:11
9F:→ nation6238:前端有五個事件選項,後端就要有五個選項區分寫入DB 10/17 21:13
10F:→ nation6238:前端有五個選項讓你選擇其中一個事件後寫入GOOGLE日曆 10/17 21:18
11F:→ nation6238:要事先得知 前端有五個選項,從google 日曆抓取時 10/17 21:20
12F:→ nation6238:區分五個事件選項分別寫入自己DB 10/17 21:23
13F:→ kanandg1:要不重新編譯,要就是(已經)有設計,不然就只好用 10/17 22:10
14F:→ kanandg1:reflection(雖然也要設計過....) 10/17 22:12
15F:推 slalala:我看了一下Spring事可做到Collection inject 10/17 22:21
16F:→ slalala:假設用string array 注入 且拿來作reflect 相同介面 科 10/17 22:23
17F:推 TonyQ:如果這些新增程序沒有一般化的流程,再怎麼做都很難處理. 10/18 00:10
18F:推 slalala:樓上提的也是我前頭說的 看不太懂原PO意思的原因orz 10/18 01:07
19F:→ nation6238:對不起~自己表達能力差,請問大家我哪邊沒說清楚, 10/18 15:05
20F:→ xlk:把程式貼出來,或簡化過的類別圖虛擬碼,再描述運作結構(循序圖 10/18 15:41
21F:推 slalala:且 不是每個人都用過google行事曆(逃) 10/18 23:35