Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Organizacija klasa u c++ [

[es] :: C/C++ programiranje :: Organizacija klasa u c++ [

[ Pregleda: 1988 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

BinaryRuler

Član broj: 73518
Poruke: 189
77.46.222.*



+3 Profil

icon Organizacija klasa u c++ [19.11.2009. u 19:47 - pre 175 meseci
Prvo da definisem problem:
Npr. ako imam baznu klasu Oblik i iz nje trebam da izvedem klasu Krug i Kvadrat iz nje, to je ok. Ali svaka izvedena klasa mora da ima formu(dialog) za podesavanje nekih propertisa. Takodje i za tu formu imam baznu klasu PropertiesForm. Problem se javlja u imenovanju izvedenih klasa i u organizaciji source fajlova.
Pitanje je da li sve *.h i *.cpp fajlove staviti u jedan folder i izvedenu klasu nazvati recimo KrugPropertiesForm. ili to uraditi koriscenjem namespace-ova odprilike ovako nekako ...

Struktura fajlova:
Code:

src
|
+---Baza
|      |
|      +---Oblik.h
|      |
|      +---Oblik.cpp
|      |
|      +---PropertiesForma.h
|      |
|      +---PropertiesForma.cpp
|
+---Kvadrat
|         |
|         +---Kvadrat.h
|         |
|         +---Kvadrat.cpp
|         |
|         +---PropertiesForma.h
|         |
|         +---PropertiesForma.cpp
+---Krug
       |
       +---Krug.h
       |
       +---Krug.cpp
       |
       +---PropertiesForma.h
       |
       +---PropertiesForma.cpp


Podelio sam klase po namespace-ovima. Imena foldera su takodje i imena namespace-ova.


Ja sam maksimalno pojednostavio, problem inace je u pitanju mnogo veci problem.

Interesuje me koje je bolje resenje.

ps. ako bude potrebno mogu da okacim class dijagram ovoga sto sam definisao ovde.
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Organizacija klasa u c++ [20.11.2009. u 07:53 - pre 175 meseci
Ako nemaš neki poseban razlog da ne koristiš jedinstvena imena fajlova onda koristi jedinstvena imena fajlova. Možda ti se sad čini slatko što si otkrio da možeš da koristiš isto ime za više fajlova, ali to se ne radi, i verovatno postoji razlog zašto se to ne radi.
 
Odgovor na temu

BinaryRuler

Član broj: 73518
Poruke: 189
77.46.222.*



+3 Profil

icon Re: Organizacija klasa u c++ [20.11.2009. u 11:54 - pre 175 meseci
Nisam otkrio kao sto si rekao, nego mi je jednostavno palo na pamet i cinilo mi se kao elegantnije resenje.
Inace radim na mnogo vecem projektu (trenutno imam preko 30 klasa) pa mi pitanje organizacije klasa i fajlova postaje sve cesca tema za razmisljanje. Kada mi je to palo na pamet pogledao sam source od Qt 4.5 i video da u njihovoj organizaciji fajlova ima foldera koji takodje ogranicavaju neke namespace-ove i imaju vise fajlova sa istim imenom rasporedjenim po razlicitim folderima.

Problem je ako uvodim jedinstvena imena klasa kao sto su KrugFrameProperties dobijam u mom projektu malo duza imena klasa, a i ako sve .h .cpp fajlove drzim una jednom mestu bez neke organizacije nevidi se uvid u strukturu.

Ako bi koristio namespace-ove onda bi izvedena klasa izgledala odprilike ovako:

Code:

#ifndef Krug_PropertiesForma_h
#define Krug_PropertiesForma_h

#include <Baza/PropertiesForma.h>



namespace Krug {

class PropertiesForma : public Baza::PropertiesForma {

};

} /* End of namespace Krug */

#endif // Krug_PropertiesForma_h


Evo class dijagrama za ovaj problem:


Prikačeni fajlovi
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Organizacija klasa u c++ [20.11.2009. u 16:53 - pre 175 meseci
Okej, probaj to što si namerio, pa nam posle nekog vremena javi koja je razlika, kako ti se čini ta fora. Koliko god da mi ovde pričamo, dok neko ne proba nećemo znati.
 
Odgovor na temu

BinaryRuler

Član broj: 73518
Poruke: 189
77.46.222.*



+3 Profil

icon Re: Organizacija klasa u c++ [20.11.2009. u 17:32 - pre 175 meseci
Bez sumnje radice i jedno i drugo posao, ali je pitanje sta je semanticki ispravnije i profesionalnije.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Organizacija klasa u c++ [

[ Pregleda: 1988 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.