作者smithkimo (Smith K)
看板java
標題[問題] 如何彈性不修改程式碼, 卻能比對模式
時間Sat Nov 30 17:18:19 2013
Dear all,
小弟有一個很特別的問題, 就是手邊有一些會隨時會增加的規則,
例如,
String test = "abc";
Rule 1: if(regex1.match()) then ...
Rule 2: if(regex2.match()) then ...
這些規則會隨時增加, 但是比對的邏輯是透過if...else if...else if...
如果一增加rules, 就必須要修改判斷的主程式, 新增新的else if的判斷,
不知道有辦法, 不更動判斷的程式, 但卻可以任意增加rules呢
想設計一個較彈性的判斷程式, 謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.15.92
1F:推 LaPass:出門,晚點回 11/30 17:21
2F:→ smithkimo:謝謝樓上的好心人士 11/30 17:22
3F:推 dream1124:學好正規表示式 Regular Expression 11/30 18:10
※ 編輯: smithkimo 來自: 220.134.15.92 (11/30 18:44)
4F:→ smithkimo:規則裡面放的就是regex 11/30 18:44
5F:推 hate9527:設計模式看一下吧 11/30 19:28
6F:推 LPH66:那就寫個文字檔 開檔讀入再用個 for 跑一遍 11/30 19:29
7F:推 plover:OpenRules,如果規則有上百條以上的話,超好用 11/30 22:24
8F:→ swpoker:想到我之前寫到一半的判別郵遞區號3+2碼的規則阿 12/03 13:34
9F:推 PsMonkey:剛剛才寫完一個 Google Apps 的郵遞區號判別規則 XD 12/03 13:51