Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 4 gru 2024, o 09:45


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
PostNapisane: 2 paź 2015, o 22:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 maja 2013
Posty: 568
Zbananowany użytkownik

Pomógł: 31

Po rozmowie z kolegą raf stwierdziłem, że nie ma w internecie dobrego przykładu Dependency Injection dla C++.
Teraz zamieszczę przykład, rano postaram się go opisać.
Składnia: [ Pobierz ] [ Ukryj ]
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Und schreien

Spring
Erlöse mich
Spring
...



Ostatnio edytowano 3 paź 2015, o 07:39 przez PROTON, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 paź 2015, o 07:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 maja 2013
Posty: 568
Zbananowany użytkownik

Pomógł: 31

A więc czym jest Dependency Injection? Jest to wzorzec projektowy który likwiduje zależności między klasami. W tradycyjnym programowaniu klasy łączy się po przez dziedziczenie, są one połączone już na etapie ich projektowania, jakakolwiek podmiana klasy wymaga edytowania ich kodu.
Natomiast wykorzystując DI klasy łączy się dopiero w głównym programie, podczas tworzenia ich instancji. W powyższym przykładzie wskaźnik do instancji klasy MyLogger przekazujemy do konstruktora klasy cWork,jest on zapisywany pod wskaźnikiem _log w tym momencie powstaje połączenie obiektów. cWork zapisuje u siebie wskaźnik do MyLogger pod cLogger* _log. W monecie wywołania funkcji loguj z cWork, wywoływana jest funkcja log z MyLogger.
Składnia: [ Pobierz ] [ Ukryj ]
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Und schreien

Spring
Erlöse mich
Spring
...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO