-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.supermedia.pl!newsfeed.pionier.net
.pl!newsfeed.straub-nv.de!proxad.net!feeder1-2.proxad.net!74.125.179.80.MISMATC
H!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
From: Roman W <b...@g...pl>
Newsgroups: pl.comp.programming
Subject: Re: Co może robić konstruktor i dlaczego nie?
Date: Thu, 5 Jul 2012 02:37:02 -0700 (PDT)
Organization: http://groups.google.com
Lines: 39
Message-ID: <b...@g...com>
References: <4ff4908d$0$1302$65785112@news.neostrada.pl>
<1...@g...com>
NNTP-Posting-Host: 193.189.80.39
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1341481023 20336 127.0.0.1 (5 Jul 2012 09:37:03 GMT)
X-Complaints-To: g...@g...com
NNTP-Posting-Date: Thu, 5 Jul 2012 09:37:03 +0000 (UTC)
In-Reply-To: <1...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=193.189.80.39;
posting-account=EexxQQoAAAAkOfWz0VZRKLcHNpXJZLB9
User-Agent: G2/1.0
Xref: news-archive.icm.edu.pl pl.comp.programming:198266
[ ukryj nagłówki ]On Thursday, July 5, 2012 9:21:52 AM UTC+1, Maciej Sobczak wrote:
> W dniu środa, 4 lipca 2012 20:50:53 UTC+2 użytkownik slawek napisał:
>
> > I tu jest pytanie, a nawet dwa:
> >
> > 1. Czy nie wystarczyłoby zrobić copy-paste tego co ma run() w środku do
> > konstruktora i wy...ć [ref1] zbędne już run() ?
>
> Jeśli konstruktor i run() zawsze idą w parze i nie są rozdzielone innymi operacjami
(spekulacja: można mieć listę takich obiektów? można je zapisać i odczytać? itd.), to
można. Ale dlaczego się na tym zatrzymywać? Jeżeli zaraz po run() obiekt i tak jest
niszczony, to całość można zebrać w jedną funkcję runFoo().
>
> Paweł podał argument, że być może ta funkcja jest skomplikowana i korzysta z usług
innych klas, które odwołują się do pól Foo - ale to niewiele zmienia, bo skoro tym
innym klasom trzeba podać referencje do tych wykorzystywanych pól, to równie dobrze
można im podać referencje do odpowiednich zmiennych lokalnych stworzonych w run().
>
> Podejrzewam tu po prostu nadmiar nieuzasadnionej "obiektowości".
Moze byc tez chec rozdzielenia trzech faz funkcji run():
1. przygotuj zmienne lokalne (np. rozpakuj dane wejsciowe, ustaw odpowiednie opcje)
2. wykonaj potrzebna operacje
3. posprzataj po sobie
Faza 1. to konstruktor klasy Foo, faza 2. to Foo.run() a faza 3. to destruktor Foo.
Alternatywa jest albo duza funkcja run(), albo przekazywanie mnostwa zmiennych
pomiedzy funkcja prepareRun() a run().
RW
Następne wpisy z tego wątku
- 05.07.12 13:38 AK
- 05.07.12 13:38 Andrzej Jarzabek
- 05.07.12 15:36 Paweł Kierski
- 05.07.12 16:08 slawek
- 05.07.12 16:27 slawek
- 05.07.12 15:49 slawek
- 05.07.12 16:24 slawek
- 05.07.12 16:18 slawek
- 05.07.12 16:52 AK
- 05.07.12 18:59 Michoo
- 05.07.12 19:06 Michoo
- 05.07.12 21:01 slawek
- 05.07.12 22:34 Edek Pienkowski
- 05.07.12 23:30 slawek
- 05.07.12 23:45 Edek Pienkowski
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-20 Precedensy politycznie motywowanego nie wydawania w UE
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Gdańsk => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-20 czyste powietrze
- 2024-12-20 Katowice => Analyst in the Trade Development department (experience wi
- 2024-12-20 Opole => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-20 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-20 Rzeszów => International Freight Forwarder <=
- 2024-12-20 Katowice => Key Account Manager (ERP) <=
- 2024-12-20 Ekstradycja
- 2024-12-20 Mikroskop 3D
- 2024-12-20 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-20 Warszawa => Analityk w dziale Trade Development (doświadczenie z Powe