作者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