2010-07-30 53 views
1

我正在爲服務提供商的計費系統工作,我必須實施一些名爲可定製首選項模式。主要功能應該是允許管理員在各種情況下定義哪些字段是強制性的。例如。如果客戶只在現場註冊,他必須輸入名字,姓氏和電子郵件地址。如果他下了一筆可結算的東西,那麼他應該輸入一些基本的地址數據,但如果他想要某些具體的東西,他應該輸入賬單和送貨地址。我希望允許管理員定義哪些字段對於每個產品(或類別)的地址是強制性的以及哪些地址(計費,運輸,主要等)是強制性的。如果一個產品/服務需要多個地址,而所有地址都有相同的必填字段列表。 一個重要的事情是應該允許額外字段的定義。 選擇地址架構的規則將基於產品和/或國家/地區。可定製的用戶地址實現

我的問題是什麼應該是適合這個問題的模型。我想客戶對象應該有地址列表。每個地址都應該有它的名字(Billing,Main,Shipping)並參考它的值。在數據庫方面,我的想法是有一個標準屬性爲列的地址表,並且有一個自定義屬性的EAV表(由管理員定義)。我已經考慮過類表繼承,但這裏不適合,因爲我沒有最終的地址屬性集。第二種選擇是使用XML列來存儲自定義屬性,但我沒有處理過這種數據類型,我不確定表演。我知道EAV不是標準的關係設計,但它在這裏看起來不錯。但是,正如我所說的,我不能100%確定任何這些解決方案,並希望聽到其他一些想法。

在此先感謝。

回答