To w zasadzie pytanie o to, czym są słabe byty? Kiedy powinniśmy ich używać? Jak powinny być modelowane?
Jaka jest główna różnica między normalnymi a słabymi istotami? Czy słabe byty odpowiadają obiektom wartości podczas projektowania opartego na domenach?
Aby pomóc zachować pytanie na ten temat, oto przykład wzięty z Wikipedii, z którego ludzie mogą skorzystać, aby odpowiedzieć na następujące pytanie:
W tym przykładzie OrderItem
został zamodelowany jako słaby byt, ale nie rozumiem, dlaczego nie można go wymodelować jako zwykły byt.
Innym pytaniem jest, co jeśli chcę śledzić historię zamówień (tj. Zmiany jej statusu), czy byłby to normalny lub słaby podmiot?
OrderItem
jest zależne od tego,Order
że nieorderItems
może istnieć bez przynależności doorder
, ale nie rozumiem, dlaczego nie mogę użyćItemLineNumber
wyłącznie do identyfikacji przedmiotu ?! Właściwie może po prostu stworzęItemLineNumber
automatycznie wygenerowane,int
aby zapewnić unikalność i użyć klucza obcego,orderID
aby połączyć dwa podmioty ze sobą ?!