[問題] 不固定條件的設計方式?
問題情節描述:
1.整個步驟如下:
查詢使用者資料-->keep在物件中-->受理流程-->受理完畢-->
產生XML 並傳送資料給外部系統
2. 現在在受理完畢 和 產生 XML 之間想要插入一個流程,
在某些條件下, 則不產生XML ( 即不傳送資料給外部系統 )
3. 續2, 這個"某些條件" 不固定, 有可能是看使用者的電話號碼,
有可能是看身份證號, 甚至任何基於使用者資料的條件,
( 更進一步或許還有不基於使用者資料的條件 )
目的:
要如何設計這個 某些條件 的管理, 當想新增條件時,
只需要設定即可達到目的, 而不需要每次都 hard code 在程式中
一種方式是建一個表格, 存放 SQL 和 consition 來當作條件filter, 例如今天的條件是
"使用者電話號碼若是 0988 開頭 則不產生資料給外部系統"
則在表格中就可設定類似
condition SQL
exists select first 1 telno from telnum where telno like '0988%'
在程式中則依 condition 的分類去執行 SQL 條件,
在上例 condition 是 exists
因此只要 SQL 執行結果存在一筆資料以上就成立,
即不產生資料給外部系統...
不過類似這樣把SQL放在table中的設計方式
感覺跟 DB 綁很緊而且好像不是很OO....
而且使用者資料在一開始都已經查出來keep住了
用SQL設定感覺又再重查一次 很沒有效率....
不知道有什麼更好的設計方式?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.249.135.45
OOAD 近期熱門文章
PTT數位生活區 即時熱門文章