🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #215446

Re: Jak zrobić to elegancko i obiektowo?

#215446
From: szykcech
Date: Sun, 17 Feb 2019 14:07
14 lines
2231 bytes
> I wszystko było by dobrze, ale MemEntry i MemChunk 
> miały nie wiedzieć o formacie raportu! To może tworzyć pusty MemEntry i 
> wypełniać przez klasę Raport? Też źle z obiektowego punktu widzenia. Jak 
> to elegancko rozwiązać, może jakieś klasy pośredniczące?

Bronek! Znowu nie odrobiłeś pracy domowej! Wzorzec wizytator jest twoim rozwiązeniem...
 
> W innym miejscu tego projektu z kolei jest bazowa klasa drzewka, która 
> ma takie metody jak addChild, listę childów tego typu. Z tego dziedziczy 
> klasa mająca dodatkowe pola i metody, niestety, jak w tych metodach 
> odwołujemy się do childów, to musi być dynamic_cast, jak to można 
> przeprojektować?

dynamic_cast nie jest niczym złym. Inna droga to koszmary szablonów (drzewko jako szablon parametryzowany klasą liścia) - jednak na oczy nie widziałem takiego drzewka.
Technical Details
Message-ID: <b5e88d26-9ce6-401a-8ea7-81fa2dad2540@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!m21no9407210qta.0!news-out.google.com!o7ni132qta.1!nntp.google.com!m21no9407204qta.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <q4bmm8$1o0$1@node2.news.atman.pl>

Show Full Headers
Complete Article Headers
X-Received: by 2002:ac8:2539:: with SMTP id 54mr10688957qtm.45.1550412429908;        Sun, 17 Feb 2019 06:07:09 -0800 (PST)
X-Received: by 2002:ac8:19ad:: with SMTP id u42mr162993qtj.3.1550412429788; Sun, 17 Feb 2019 06:07:09 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!m21no9407210qta.0!news-out.google.com!o7ni132qta.1!nntp.google.com!m21no9407204qta.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sun, 17 Feb 2019 06:07:09 -0800 (PST)
In-Reply-To: <q4bmm8$1o0$1@node2.news.atman.pl>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=188.146.231.223; posting-account=pyti1AoAAAAf66c003TUy10QAAnMWaKw
NNTP-Posting-Host: 188.146.231.223
References: <q4bmm8$1o0$1@node2.news.atman.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b5e88d26-9ce6-401a-8ea7-81fa2dad2540@googlegroups.com>
Subject: Re: Jak zrobić to elegancko i obiektowo?
From: szykcech@gmail.com
Injection-Date: Sun, 17 Feb 2019 14:07:09 +0000
Lines: 23
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit