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 ?
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.task.gda.pl!not-for-mail
    From: zażółcony <r...@c...pl>
    Newsgroups: pl.comp.programming
    Subject: Re: Jaki wzorzec projektowy: pilnowanie cyklu życia innego obiektu ?
    Date: Wed, 21 Mar 2012 09:13:51 +0100
    Organization: CI TASK http://www.task.gda.pl/
    Lines: 44
    Message-ID: <jkc2ju$44g$1@news.task.gda.pl>
    References: <jjv1o4$brh$1@news.task.gda.pl>
    <4f631023$0$4069$c3e8da3$efbdef2c@news.astraweb.com>
    <jjv3a9$e9s$1@news.task.gda.pl>
    <4...@g...googlegroups.com>
    <jjvbm4$qd4$1@news.task.gda.pl> <jk1vdn$2mq$1@inews.gazeta.pl>
    NNTP-Posting-Host: efp194.internetdsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.task.gda.pl 1332317631 4240 83.14.249.194 (21 Mar 2012 08:13:51 GMT)
    X-Complaints-To: a...@n...task.gda.pl
    NNTP-Posting-Date: Wed, 21 Mar 2012 08:13:51 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20120216
    Thunderbird/10.0.2
    In-Reply-To: <jk1vdn$2mq$1@inews.gazeta.pl>
    Xref: news-archive.icm.edu.pl pl.comp.programming:196219
    [ ukryj nagłówki ]

    W dniu 2012-03-17 13:17, Andrzej Jarzabek pisze:
    > On 16/03/2012 12:28, zażółcony wrote:
    >> W dniu 2012-03-16 12:06, Andrzej Jarzabek pisze:
    >>>
    >>> Po pierwsze, może po prostu weak reference jest patternem, który
    >>> powinieneś zaimplementować?
    >> Ciężka sprawa w foxie ... Nie bardzo widzę sposób implementacji
    >> bez mocnej ingerencji w same obiekty, które chcemy pilnować.
    >> Bez wtykania w destruktory specjalnego kodu tego nie widzę.
    >> Jak najmniej takich rzeczy w Foxie :)
    >
    > Nie znam się na foxpro, ale popatrz jak jest zrobiony shared_ptr i
    > weak_ptr w boost. Nie wymaga żadnej ingerencji w obiekty. To, czego
    > potrzebujesz, można zrobić podobnie z tą różnicą, że twój odpowiednik
    > shared_ptr nie będzie kopiowalny, więc nie musisz mieć licznika silnych
    > referencji.
    >
    >> No to jest jakiś pomysł, czyli coś w rodzaju LifeCycleObserver.
    >> Hmmm ... Może tak to właśnie u siebie nazwę :) Z tym tylko
    >> niuansem, ze obserwer właściwie bardziej obserwuje siebie, niż
    >> podpięty obiekt. Bo to obserwer byłby tym obiektem lokalnym,
    >> który musi w destruktorze odpalić 'wypisanie' innego obiektu
    >> z systemu. Taki SelfDestroyObserver :)
    >
    > Obserwator nie obserwuje siebie, tylko wrappera/smart pointera
    > zarządzającego czasem życia obiektu. Przy okazji desktukcji tego obiektu
    > wrapper powiadamia wszystkich obserwatorów, a oni obsługują
    > powiadomienie usuwając wskaźnik na niszczony obiekt z kolekcji.

    Ok, dzieki, przyjrzałem sie temu. I to byłaby właśnie ta nazwa,
    której szukałem: "Smart pointer"
    http://en.wikipedia.org/wiki/Smart_pointer

    Po połączeniu z wzorcem observer: smart pointer w destruktorze
    robi 'update', czyli śle powiadomienia o zmianie do wszystkich obserwatorów.

    Jest tu teraz trochę inny problem, specyficzny dla FoxPro, a mianowicie
    za dużo obiektów (a z niewiadomych dla mnie powodów w FoxPro
    tworzenie instancji obiektów jest wyjątkowo mało wydajne)
    towarzyszących. Na obiekt rzeczywisty idzie dodatkowo konstrukcja
    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 :)

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: