2009-08-06 9 views
2

Welcher Ansatz wird empfohlen in einer DDD-Welt ... und warum?Welcher Ansatz wird empfohlen: aggregateRoot.Items.Add (...) oder aggregateRoot.AddItem (...)

  1. aggregateRoot.Items.Add(...)
  2. aggregateRoot.AddItem(...)

Ich denke, die erste Option besser ist, da es im Zusammenhang mit der allgegenwärtigen Sprache ist.

Sollte aussetzen ich einen Read-only (IEnumerable) Sammlung und einige AddItem()/RemoveItem()/etc auf dem aggregateRoot (Option 1) oder aussetzen eine stark typisierte Sammlung (Ich mag nicht IList aussetzt < T> oder sogar am schlechtesten, Liste < T>), die das Hinzufügen/Entfernen von/etc (Option 2) unterstützt.

+0

Womp nicht vorschlagen, dass aber du. Er gab nur einige Gründe, warum eine Option besser wäre als andere. Für mich scheint es - Sie suchen nach Problemen, wo sie nicht existieren. –

+0

Ihr Recht, ich werde meinen Beitrag bearbeiten, indem Sie diese Womp vorgeschlagene Option entfernen 2. Über die Suche nach Problemen, wo sie nicht existieren, ich denke, das ist nur wie, Ihre Meinung Mann ... – W3Max

+0

Sicher ist es. Ich habe nicht versucht, beleidigend oder so zu sein. :) –

Antwort

2

Beide haben ihre Verwendung, je nachdem, welche Art von API Sie Ihrem Benutzer präsentieren möchten.

Wenn Sie eine Sammlung kapseln, auf die Benutzer nicht direkt zugreifen sollen, können Sie AddItem() als eine leicht selbst erfassbare Methode verwenden, um Benutzern beim Hinzufügen eines Elements zu helfen.

Wenn Ihr Objekt die Sammlung verfügbar macht, ist Items.Add() konsistentes Sammlungsverhalten und wäre wahrscheinlich die beste Wahl.

+0

Ja, du magst Recht haben ... aber ich wollte eine Antwort in Bezug auf DDD und allgegenwärtige Sprache. Das ist der Grund, warum ich aggreagteRoot geschrieben habe. Ich werde meine Frage bearbeiten, um klarer zu sein, und ich stimme immer noch für Ihre Antwort. – W3Max

Verwandte Themen