Hallo zusammen,
im konkreten Fall wird das Observer-Pattern implementiert. Die Observer werden in einer ArrayList gespeichert.
Eine Notify()-Methode werden alle Observer, die sich mit AttachObserver() bei meiner Klasse angemeldet haben, über Änderungen informiert.
Das ganze sieht so aus:
foreach (Object observer in observers)
{
if (observer is TArtikelListView)
{
(observer as TArtikelListView).UpdateView(this);
}
if (observer is TArtikelView)
{
(observer as TArtikelView).UpdateView(this);
}
}
Nun hätte ich es gerne "generischer". D.h. ich möchte, dass ich nicht mehr konkret angeben muss, von welchem Typ der Observer ist. Wenn das Objekt eine UpdateView(..)-Methode hat, soll Sie eben ausgeführt werden, und wenn nicht eben nicht...
Kann mir einer sagen, wie das zu machen ist?
Bodo
im konkreten Fall wird das Observer-Pattern implementiert. Die Observer werden in einer ArrayList gespeichert.
Eine Notify()-Methode werden alle Observer, die sich mit AttachObserver() bei meiner Klasse angemeldet haben, über Änderungen informiert.
Das ganze sieht so aus:
foreach (Object observer in observers)
{
if (observer is TArtikelListView)
{
(observer as TArtikelListView).UpdateView(this);
}
if (observer is TArtikelView)
{
(observer as TArtikelView).UpdateView(this);
}
}
Nun hätte ich es gerne "generischer". D.h. ich möchte, dass ich nicht mehr konkret angeben muss, von welchem Typ der Observer ist. Wenn das Objekt eine UpdateView(..)-Methode hat, soll Sie eben ausgeführt werden, und wenn nicht eben nicht...
Kann mir einer sagen, wie das zu machen ist?
Bodo
Comment