作者luoqr (.....)
看板OOAD
标题[问题] 不固定条件的设计方式?
时间Sun Sep 18 19:58:25 2011
问题情节描述:
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