Jestem całkiem nowy w projektowaniu dużych programów w C++. Piszę serię operacji, z których każda ma własną klasę, która zostanie wywołana przez klasę ProcessMgr
.Struktura interfejsu i implementacji?
Używam ProcessMgr
jako klasy interfejsu, z których każda operacja może być wywołany:
class ProcessMgr
{
private:
class OperationOne;
class OperationTwo;
class OperationThree;
}
class ProcessMgr::OperationOne
{
public:
...
};
class ProcessMgr::OperationTwo
{
public:
...
};
class ProcessMgr::OperationThree
{
public:
...
};
To pozwala mi kontrolować rodzaje dostępu do Operation
klas, więc nie narażając dużo leżące u ich podstaw kod.
Ważne jest, aby użytkownik tego kodu mógł wchodzić w interakcje z klasami Operation
w określony sposób i nie mieć pełnego dostępu do wszystkich treści klas Operations
.
Moje pytania:
1) Czy jest to dobre podejście do projektowania dużych programów? Czy większość bibliotek, takich jak CURL, ma taką strukturę?
2) Czy istnieją lepsze/bardziej wydajne metody oddzielania interfejsu i implementacji?
Ogólny projekt dowolnego programu zależy od wielu zmiennych, ale myślę, że łatwiej byłoby ci zrozumieć najlepszy projekt, jeśli opisujesz cel kodu. – ZivS
Nie programista C++, ale w jaki sposób 4 klasy mogą mieć takie same Nazwa? Czy to jest C++? To całkowicie mnie wyrzuciło .. – CKing
Zaktualizowane pytania @ ZivS –