eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJaki wzorzec projektowy: pilnowanie cyklu życia innego obiektu ?Re: Jaki wzorzec projektowy: pilnowanie cyklu życia innego obiektu ?
  • Data: 2012-03-21 14:42:41
    Temat: Re: Jaki wzorzec projektowy: pilnowanie cyklu życia innego obiektu ?
    Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On Mar 21, 8:13 am, zażółcony <r...@c...pl> wrote:
    [...]
    > smart pointera i zaraz za nim konstrukcja observera. Dlatego ja
    > kombinowałem od razu z mniej czystym rozwiązaniem, gdzie
    > smart-pointer jest od razu obserwatorem i sam wie, skąd wypisać
    > wskazywany obiekt. Muszę nad tym pomyśleć. Jeszcze raz dzięki :)

    Przy okazji (jeszcze raz z poprawką, że nie znam się na FoxPro) to
    raczej niweiele zmienia: w najbardziej topornym przypadku smart
    pointer czy inny wrapper musi trzymać listę kolekcji i usuwać wskaźnik
    do trzymanego obiektu z każdej z nich, w eleganckim rozwiązaniu trzyma
    listę referencji (wskaźników czy co tam ma FoxPro) na interfejsy
    (klasę bazową, czy co tam ma FoxPro) 'obserwator', które są
    implementowane przez typ trzymający kolekcję i implementujący notify()
    funkcją usuwającą przekazany wskaźnik z kolekcji. Z grubsza w obydwu
    wariantach dzieje się dokładnie to samo, jedynie z ewentualnym
    narzutem na wywołanie funkcji wirtualnej.

    Jeśli chodzi o tworzenie dodatkowych obiektów, to zauważ:
    1. Jeśli używasz w swoim smart pointerze obserwatora, zamiast weak
    pointerów, to odchodzi ci tworzenie obiektu licznika.
    2. Jeśli masz w FoxPro coś w rodzaju object composition z C++ i nie
    wymagasz polimorfizmu, to możesz zamiast smart pointera zastosować
    wrapper który powiadamia obserwatorów.
    3. Jeśli nie masz kompozycji, możesz ewentualnie pomyśleć o
    dziedziczeniu (w niektórych językach są do tego mixiny, ale FoxPro bym
    o to nie podejrzewał), obserwatorów powiadamia destruktor klasy
    bazowej. Oczywiście wtedy odpada automatyczna destrukcja pierwotnego
    obiektu.
    4. A najlepiej to rzuć to g..no :)

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: