Frage

Was ist der Unterschied zwischen diesen Begriffen, können Sie bitte kleine Beispiele geben?

War es hilfreich?

Lösung

Aggregation: von http://en.wikipedia.org/wiki/aggregate_pattern

In den Entwurfsmustern ist ein Aggregat kein Entwurfsmuster, sondern auf ein Objekt wie eine Liste, einen Vektor oder einen Generator, das eine Schnittstelle zum Erstellen von Iteratoren bietet.

Die Bedeutung von kurzer Elemente enthält 0 oder mehr andere Elemente eines anderen Typs.

public class MyAggregation 
{   
   protected List<MyAggregates> aggregates = new List<MyAggregates>();

   public void add( MyAggregate element )
   {
        aggregates.Add( element );    
   }
}

Delegierter: von http://en.wikipedia.org/wiki/delegation_pattern

In der Software-Engineering ist das Delegationsmuster ein Entwurfsmuster in der objektorientierten Programmierung, wobei ein Objekt, anstatt eine seiner angegebenen Aufgaben auszuführen, diese Aufgabe an ein zugehöriges Helferobjekt delegiert

Dies bedeutet, dass eine Klasse ein anderes Objekt verwendet, um etwas zu tun.

public interface IExceptionHandler
{
    void handle( string filename );
}

public class FileDeleteExceptionHandler : IExceptionHandler
{
   public void handle( string filename )
   {
      File.Remove( filename );
   }
}


public class MyExceptionHandler
{
    protected IExceptionHandler exceptionHandler;

    public MyExceptionHandler( IExceptionHandler theHandler )
    {
       this.exceptionHandler = theHandler;
    }

    public void handleException( string filename )
    {
       excpetionHandler.handle( filename );
    }
}

Oder in der C# -Delegation kann sich nur auf eine Delegierte -Funktion verweisen, siehe http://msdn.microsoft.com/de-de/library/900fyy8e%28vs.80%29.aspx

Beratung Ich weiß nichts ab, sorry

HTH

Mario

Hinweis: Ich habe den obigen Code nicht tatsächlich kompiliert.

Andere Tipps

Es gibt eine Beschreibung des Unterschieds zwischen Delegation und Beratung hier.

Es scheint, dass das, was die meisten Leute als Delegation bezeichnen, besser als Konsultation verwiesen werden könnte.

Ich denke, dass die Delegation im formaleren Sinne, das in der Referenz beschrieben wird, als abstrakte Basisklasse, die an eine konkrete Klasse delegiert wird, implementiert wird.

Delegation, Aggregation und Beratung sind keine Designmuster. Es handelt sich um Konzepte, die uns helfen, Designmuster zu beschreiben. für mehr

Komposition ist eine Möglichkeit, einfache Objekte oder Datentypen zu komplexer zu kombinieren, dh als einzelne Einheit. Zusammensetzungen sind ein kritischer Baustein vieler grundlegender Datenstrukturen

Anhäufung unterscheidet sich von gewöhnlich Komposition da bedeutet es kein Eigentum. In der Zusammensetzung, wenn das Eigenobjekt zerstört wird, sind auch die enthaltenen Objekte. In der Aggregation ist dies nicht unbedingt wahr

Delegation ist das einfache, aber leistungsstarke Konzept, eine Aufgabe an einen anderen Teil des Programms zu übergeben. In objektorientierter Programmierung wird es verwendet, um die Situation zu beschreiben, in der ein Objekt einem anderen Objekt, der als Delegierter bezeichnet wird, eine Aufgabe zuweist

Beratungsgespräch In objektorientierter Programmierung tritt die Methode eines Objekts aus einer Nachricht aus, die dieselbe Nachricht an ein anderes konstituiertes Objekt sendet.

Wiki: Delegation Komposition Beratungsgespräch

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top