Przekazywanie danych pomiędzy klasami

0

Poznałem myślę że wszystkie główne zagadnienia związane z programowaniem obiektowym ale dalej nie potrafię tak programować. Problem pojawił się dopiero jak miałem napisać program w WinForms na zaliczenie przedmiotu.
Napisać napisałem, działał jak chciałem ale kod był straszny. W kółko pisanie tego samego, problem z przekazywaniem danych pomiędzy klasami. Tragedia. Rozumiem samą idee programowania obiektowego i jego elementów no ale, no właśnie ale.

I tu mam pytanie odnośnie przekazywania danych pomiędzy klasami. Nadal nie rozumiem jak to robić ?
Powiedzmy mam klasę A w której mam jakieś właściwości, które już mają jakieś wartości.
mam klasę B w której chcę wyświetlić wartości właściwości z klasy A
mam klasę C w której też chcę wyświetlić wartości właściwości z klasy A.

Jak to zrobić?
W klasie B tworzę obiekt klasy A i poprzez niego dostaje się do właściwości tej klasy. Z klasy B do klasy C wysyłam te dane przez konstruktor. Ok to ma sens.

Tylko co teraz jak będę miał klasę E, F albo Z i w tej klasie będę potrzebował się dostać do właściwości albo jakiejś metody z klasy A?

Wiem, że jakimś rozwiązaniem są klasy statyczne, no ale chyba tak się nie robi wszystkiego.. i nie wszystko się da.
Zresztą na jakim wykładzie z programowania nie byłem to ciągle mówią kod rozbijać na mniejsze klasy bo za długie nieczytelne, tylko potem trzeba jakoś te dane z tych klas wyciągać, albo się do nich dostawać i tu ciągle te nowe obiekty trzeba tworzyć czy robi się to jakoś inaczej ?

I mam jeszcze jedno pytanie bo zauważyłem że piszecie var klasa1 = new Klasa1();
Po co używacie tego var jeżeli można napisać Klasa1 klasa1 = new Klasa1();

Generalnie proszę o jakieś wskazówki, jak zrozumieć programowanie obiektowe(nauczyć się tak programować) ucze się MVC i tam poznaje coraz to nowe rzeczy, bardzo fajne ciekawe ale jednak już takiego programowania tu nie ma jak w aplikacji konsolowej czy właśnie w WindowsForms. Chyba że odnoszę błędne wrażenie na podstawie moich materiałów z których obecnie korzystam do nauki. Z góry dzięki za odpowiedź :)

0

Co do stosowania var : http://zajacmarek.com/2014/09/c-tips-typ-var/

Co do przekazywania zmiennych. Dużo zależy od konkretnego przypadku. na pewno dobrą praktyką będzie operowanie na interfacach jeżeli chcesz przesyłać dane pomiędzy obiektami.

Może dodatkowo zastosować jakiś wzorzec? Np. Obserwator, etc.

Dużo rzeczy przychodzi z czasem. Ja dużo nauczyłem się podczas pracy zespołowej, gdzie w zespole miałem/mam kilku kumatych ludzi którzy poświęcali czas na code review.

0

Zainteresuj się wzorcem Model View Presenter oraz Dependency Injection.

0

Dependency injection poznałem juz ucząc sie MVC. Ale nie sądziłem ze używa sie tego w czymś innym niż aplikacje internetowe.. A o wzorcu MVP przeczytam.

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