Adapter Pattern - Verständnis

26/05/2008 - 08:25 von IsaakTaylor | Report spam
Hallo,

wollte kurz nachfragen ob ich das Adapter Pattern richtig verstanden
habe. Es scheint mir irgendwie so einfach zu sein.

Also, wenn man zwei inkompatibele Klassen hat. Da die Klient Klasse
eine bestimmte Methoden-Signatur (besser Interface) verlangt und diese
eine andere Klasse X nicht erfüllt.
Also erstellt man eine Adapter Klasse A, die Klasse X ist ein Agregat
der Adapterklasse. Dort könnte sowas stehen

Adapter
{
PersonValidator personValidator;
...

public bool GetName(Person person)
{
return personValidator.ValdiateData(person.Name,
person.Surname...);
}
...
}

also im einfachsten fall nur ein Methodenaufruf. Das wàre der
Objektadapter (da Aggregat). Klassenadapter wàre wenn die klasse X
vererbt und dann deren Methoden überladen würden. Stimmt das so?
 

Lesen sie die antworten

#1 Ivan Dolvich
26/05/2008 - 20:45 | Warnen spam
Stimmt fast, der Adapter muss zusàtzlich das Interface implementieren,
dass der Klient braucht:

Adapter : IXyz
{
...
}



Der Klient benutzt dann eine vom Adapter, er sieht sie aber nur als
Instanz vom Interface. Im Klient-Code:

IXyz xyz = MakeXyz();
bool ok = xyz.GetName(person)

public IXyz MakeXyz()
{
return new Adapter(new PersonValidator());
{

Gruß, Ivan

Ähnliche fragen