2009-03-31 7 views
1

Eine Frage über den Informationsfluss in einer objektorientierten Konstruktion, z. vom Controller zum Repository.Handle Modellobjekte immer oder lassen Bits von Informationen reisen?

Sollten die übergebenen Objekte immer im Modell enthalten sein, oder sollten wir zulassen, dass kleinere Teile von Informationen übertragen werden?

Was würden Sie empfehlen? Welche Faktoren bestimmen den Ansatz?

z. so etwas wie

 
Controller: 
    string alias = "alpha"; 
    bool aliasExists = Repository.CheckIfAliasExists(alias) 
Repository: 
    bool CheckIfAliasExists(string alias); 

oder so etwas wie

 
Controller: 
    string alias = "alpha"; 
    Member member = Repository.GetMemberByAlias(alias); 
    bool aliasExists = member != null; 
Repository: 
    Member GetMemberByAlias(string alias); 

Antwort

1

Dies ist ein ziemlich subjektives Thema, aber ich denke, die Entscheidung auf zwei Ideen zum Kochen braucht: die Leistung ein gesamtes Objekt nur für die Zwecke Abrufen der Bestimmung der Existenz und der Idee, objektspezifische Informationen einen größeren Geltungsbereich zu erreichen.

Einige werden argumentieren, dass die Möglichkeit, dass die Anwendung diese identifizierenden Informationen stärker nutzt, Ihre Chancen erhöht, das Objektmodell vollständig zu umgehen, aber in diesen Fällen bin ich generell auf der Seite der Leistung.

Mein spezieller Rat ist, mit dem ersteren Ansatz zu gehen (obwohl letzteres auch nicht ungültig wird).

Verwandte Themen