2011-03-31 105 views
0

我有以下場景來實現:有產品註冊,但是這個產品顯然有一些類別。例如,對於男性或女性來說,它將是配件或鞋類或包,例如,在配件內部,它將是皮帶子項目或錢包,這取決於管理員的願望。但我不知道如何實現這個...讓某人知道如何做到這一點。產品設計模式

回答

2

您希望產品和類別之間具有多對多的關係。這意味着每個產品可以有多個類別,每個類別可以有多個產品。

此外,你希望能夠編寫類似的,他們有一個樹狀結構。爲此,每個類別應該引用父類別(在關係模式中)和/或幾個子類別(在代碼中)。如果您希望某個類別能夠擁有多個父類別,那麼您將再次查看多對多關係。

1

Martin的建議可能替代方案是簡單地使用標籤。標籤因其「扁平」非結構化關係而聞名,如果您需要「嵌套」類別,這可能是一種責任。然而,有一個標籤庫,acts-as-taggable-on,它允許嵌套標籤。

因此,男性,女性,配飾,錢包,皮帶等平面結構可以有性別:男性,性別:女性,配飾:錢包,配飾:腰帶等。邏輯上,它與馬丁的建議相同,但使用標籤庫可以爲您節省大量編碼。