Znam składnię c++, ale mam problem z zaprojektowaniem jakiejś aplikacji w sensie logicznym. Jak to wyćwiczyć ?
0
0
Wstęp i kilka zasobów które zebrałem kiedyś:
http://www.foundbit.com/pl/zasoby/jezyki/cpp/zaawansowane/articles/cpp-oop.html
0
Dodam jeszcze: Pisz programy! Tylko dzięki praktyce możemy coś wyćwiczyć.
2
Złoty Kaczor napisał(a):
Znam składnię c++, ale mam problem z zaprojektowaniem jakiejś aplikacji w sensie logicznym. Jak to wyćwiczyć ?
Pisać jakieś projekty i starać się trzymać kilku zasad:
- zero zależności cyklicznych, klasa A zna klasę B ale wtedy klasa B nie ma pojęcia o istnieniu klasy A. Jeśli z jakiegoś powodu B potrzebuje wywołąć coś z A, to tworzysz interfejs C (klasę z metodami czysto wirtualnymi), po której A dziedziczy i implementuje te metody, a w B dodajesz setter na wskaźnik do C i posługując sie tą wartością wywołujesz te metody.
- unikać dziedziczenia. Zawieranie jest bardziej elastyczne i ułatwia testowanie
- Starać się dzielić funkcjonalności na małe klasy (żeby nie było klasy typu "szwajcarski scyzoryk").
- Nauczyć się korzystać z gtest i gmock to pomoże wyrobić odpowiednie odruchy dla poprzednich punktów
1
Odpowiedź jest taka, jaką dostał Filip Jaślar gdy zabłądził w jednym z miast i zapytał ulicznego grajka "jak się dostać do opery":
"Ćwiczyć, ćwiczyc i jeszcze raz ćwiczyć".