![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 10.10.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
w How to Configure a Service with a Configurator jest przykład pokazujący zastosowanie configurator.
ale nie pojmę o co w tym wszystkich chodzi póki nie zrozumiem jaka jest w tym rola metody EmailFormatterManager::getEnabledFormatters() tj co miałoby się znajdować w tablicy $enabledFormatters ? I kiedy i jak miałbym tę tablicę zapełnić? Bo ona miałaby być budowana dynamicznie w trakcie działania programu, ale co to miałyby być za dane. (ja rozumiem, że to nie jest niezbędny element tej konstrukcji, ale zrozumienie tego szczegółu pomoże mi zrozumieć całość) generalnie w tym chodzi o to, że w efekcie usługa automatycznie, na dzień dobry ma wypełnioną swoją właściwość danymi? Takie trochę factory, tak? Ten post edytował koszykarze 31.07.2016, 20:30:07 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Cytat ale nie pojmę o co w tym wszystkich chodzi póki nie zrozumiem jaka jest w tym rola metody Zawsze tak rozpatrujesz każdy element przykładu? Cytat Takie trochę factory, tak? Tak, tylko bez tworzenia obiektu. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 10.10.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Zawsze tak rozpatrujesz każdy element przykładu? jeśli oficjalna dokumentacja tłumaczy coś generalnego na podstawie życiowego przykładu to lepiej jeśli zrozumiem co jest w tym życiowym przykładzie niezbędne a co dodatkiem. Po prostu głowiłem się cóż to ma być za specjalnie dostarczana konfiguracja z różnych źródeł. Już wiem, że to może być byle gówno. ------------------ takie se notatki zrobiłem: # c.- dyrektywa w serv. cont. w której podaję metodę innej klasy dzięki której automatycznie, na dzień dobry mam wypełnioną danymi właściwość tworząc serwis (wszystko jest decoupled i dynamiczne) # implementacja. Występują 3 komponenty. Klasa posiadająca dane. Klasa (klasy) potrzebująca danych. Klasa Konfigurator pośrednicząca w dostarczeniu dancyh. # ... - Klasa posiadająca dane. ta klasa jest odpowiedzialna za przygotowanie danych które otrzyma serwis. Nie ważne jak (dynamicznie na podstawie konfiguracji), skąd i kiedy #......ważne by miała jedną, niezmienną metodę, którą mogę odebrać przygotowane dane. # ... - Klasa potrzebująca danych. ta klasa ma jakąś swoją funkcjonalność i jedną niezmienną metodę odbierającą dane i przypisującą je do właściwości. # ... - Klasa Konfigurator. ona jest kluczowa, i niezmienna. posiada metodę która pośredniczy w dostarczeniu danych. To tę metodę wywołuję w dyrektywie ''configurator'' # ...- każda z powyższych klas ma zdefiniowaną usługę. # ... - każda usługa tworzona jest automatycznie, w łańcuchu wywołań, bo usługi wywołują się automatycznie dyrektywami ''arguments'' i ''configurator'' # zalety. - (decouple) mógłbym to wszystko robić bezpośrednio w klasie która potrzebuje dane, ale wtedy byłbym sztywno powiązany. # ....dzięki temu mam czystą implementację usługi niezależną od obiektów dostarczających konfigurację # ...- gdy mam serwis który potrzebuje skomplikowanych ustawień na podstawie danych konfiguracji z różnych źródeł, serwisów. # ...- gdy mam wiele obiektów dzielących wspólną konfigurację # w efekcie. - używam w projekcie dowolnie metod serwisu nie martwiąc się jak i kiedy zostanie wypełniony danymi, a później w trakcie działania programu, # .....np na podstawie danych z konfiguracji ustawiam dane w oddzielnej klasie. Grunt by zapewnić by jedna metoda tej klasy dostarczała dane. Ten post edytował koszykarze 1.08.2016, 08:51:49 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 18:54 |