Loading…

Blog

Viel Spass beim Lesen, vielleicht findest Du ja ein paar nützliche Informationen
Los geht's

Order LineItem Pattern

Für den Aufbau eines Bestellsystem (Order system) habe ich lange Zeit recherchiert, welches das beste Domain Model ist. Ich habe mich gegen die Standardlösung lange gesträubt, musste aber in der letzten Konsequenz doch auf das Standart Order LineItem Pattern zurückgreifen, da ich hier im Domain Model nur den Blick auf eine Bestellung (Order) lege.

Die Benennung der einzelnen Felder habe ich probiert über schema.org zu ermittelt. Warum muss das Rad neu erfinden, wenn es eine Community gibt, die sich um einen Standart kümmert.

PlantUML Syntax:<br />
class Order {<br />
String uuid<br />
String orderNumber<br />
String orderDate<br />
String orderPlacedDateTime<br />
String orderStatus<br />
…<br />
}</p>
<p>class LineItem {<br />
Integer lineNumber<br />
…<br />
}</p>
<p>class ProductItem {<br />
String identifier<br />
String name<br />
…<br />
}</p>
<p>class ShippingItem {<br />
String identifier<br />
String carrier<br />
…<br />
}</p>
<p>class Price {<br />
Float price<br />
…<br />
}</p>
<p>class Taxes {<br />
Float rate<br />
…<br />
}</p>
<p>class Discounts {<br />
Float discount<br />
…<br />
}</p>
<p>class Customer {<br />
String firstname<br />
String lastname<br />
String email<br />
…<br />
}</p>
<p>class BillingAddress{<br />
String firstname<br />
String lastname<br />
String street<br />
String houseNumber<br />
…<br />
}<br />
Order –> LineItem<br />
Order –> Customer<br />
Order –> BillingAddress<br />
LineItem –> ProductItem<br />
LineItem –> ShippingItem<br />
LineItem –> Price<br />
Price –> Taxes<br />
Price –> Discounts<br />

Warum diese Entscheidung?
Innerhalb einer Bestellung können verschiedene Artikel (Items) enthalten sein. Dies müssen nicht unbedingt physikalische Artikel sein, sondern es können auch Dienstleistungen sein (Versand, Arbeitsstunden, …). Jeder dieser Artikel  kann ein eigenes Model enthalten, ist aber im Grundsatz ein Artikel.

Schreibe einen Kommentar