Jak nauczyć się projektować obiektowo

0

Znam składnię c++, ale mam problem z zaprojektowaniem jakiejś aplikacji w sensie logicznym. Jak to wyćwiczyć ?

2

Na początek możesz się zaznajomić z DRY, KISS, SOLID
więcej

Nie wiem jaki jeste Twój stopień zaawansowania, ale dobrym rozwiązaniem jest czytanie open source'owych projektów. Taki kod można np. znaleźć na githubie.

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:

  1. 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.
  2. unikać dziedziczenia. Zawieranie jest bardziej elastyczne i ułatwia testowanie
  3. Starać się dzielić funkcjonalności na małe klasy (żeby nie było klasy typu "szwajcarski scyzoryk").
  4. 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ć".

1 użytkowników online, w tym zalogowanych: 0, gości: 1