什么是设计?在我看来,设计者有一定的权威性,他知道如何使用标准、规则来进行必要的约束,再加上经验对现实业务的抽象,就得到了数据库模型
仅仅的规则+数据库还不能称作优美的设计,还要有一些技巧的发挥。
有人要问了,你说的这些都太抽象了,根本连什么是数据库,什么是规则,什么是技巧都没有说清楚嘛。呵呵,我觉得也是,如果我看到这里,我也觉得
都是一堆废话。那么我就从一个小小的例子来说说吧。
其实我们大家应该都知道把一个具体的业务数据库模型化,这里我们说一个打折的系统,不同身份的人,需要不同的打折。
那么我们就要设计相关的对象:用户,用户和身份,身份和折扣等等的关系。
我们先可以把他们进行数据库模型化了。然后我们要加入一定的规则,用什么规则可以进行约束呢?
我们把打折扣的数据也存入数据库中,行成规则:
usecase normal vip master rule
mm 50 0.8 0.5 *
gg 16 48 112 +
这样,有些规则是使用乘法,有些东西是使用加法,他们到底如何运行的呢?
我们可以这样说明一下,一个小mm,她要买个东西需要花$50,如果她有一张vip卡,她就可以打8折,如果有一张master卡,她就可以打5折
他们只要用normal rul vip(master)作一次运算就可以了。
基本上使用了规则和数据结构,其实也加上了一些技巧了,就是rule中的东西,什么时候设计成*,什么时候设计成+需要自己去把我们的业务数学模型化
不知道我讲的你看明白了没有,也许我的表达不够清晰,也许这也并不能算是一次很优美的设计,但至少她目前是我的想法。