2010-07-30 52 views
1

我正在为服务提供商的计费系统工作,我必须实施一些名为可定制首选项模式。主要功能应该是允许管理员在各种情况下定义哪些字段是强制性的。例如。如果客户只在现场注册,他必须输入名字,姓氏和电子邮件地址。如果他下了一笔可结算的东西,那么他应该输入一些基本的地址数据,但如果他想要某些具体的东西,他应该输入账单和送货地址。我希望允许管理员定义哪些字段对于每个产品(或类别)的地址是强制性的以及哪些地址(计费,运输,主要等)是强制性的。如果一个产品/服务需要多个地址,而所有地址都有相同的必填字段列表。 一个重要的事情是应该允许额外字段的定义。 选择地址架构的规则将基于产品和/或国家/地区。可定制的用户地址实现

我的问题是什么应该是适合这个问题的模型。我想客户对象应该有地址列表。每个地址都应该有它的名字(Billing,Main,Shipping)并参考它的值。在数据库方面,我的想法是有一个标准属性为列的地址表,并且有一个自定义属性的EAV表(由管理员定义)。我已经考虑过类表继承,但这里不适合,因为我没有最终的地址属性集。第二种选择是使用XML列来存储自定义属性,但我没有处理过这种数据类型,我不确定表演。我知道EAV不是标准的关系设计,但它在这里看起来不错。但是,正如我所说的,我不能100%确定任何这些解决方案,并希望听到其他一些想法。

在此先感谢。

回答