Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> W jakim celu stosuje się wzorce projektowe?
Jarod
post
Post #1





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


Czytam sobie o wzorcach projektowych. Przerabiam właśnie wzorzc obserwatora (rozumiem, że jest ich dużo więcej niż w książce "php Zaawans. progr." ?). Już miałem sie pytać o wyjaśnienie bo strasznie zamotany ale jakoś załapałem. Po co się stosuje takie wzorce? Często wydaje mi się, że człowiek opracowując swój algorytm na rozwiązanie problemu może stosować nieświadomie jakiś wzorzc albo tworzyć swój własny. Czy wzorzec to nie inaczej algorytm? Czy wzorce to coś takiego jak MVC albo inaczej czy MVC jest wzorcem?

Wracając do wzorca obserwator. Autor pisze coś takiego:
Cytat
Bardzo często mamy do czynienia z danymi, które ulegają zmianie wraz z upływem czasu.Powiedzmy, że dysponujemy pewnymi elementami GUI, które powinny wyświetlać te dane, a także odświeżać zawartość , gdy dane ulegają zmianie. Jak to osiągnąć? Można przekazywać nowe dane do odpowiedniej metody komponentu, GUI, tak aby mógł on odświeżyć swoją zawatość. Co jednak gdy nie jest oczywiste jak często te dane będą aktualizowane a interfejs użytkownika powinien być odswieżany przy każdej zmianie?


Autor sugeruje, że rozwiązaniem jest wzorzec obserwatora. Przestudiowałem go bardzo dokładnie, próbując zrozumieć dziwny tok rozumowania autorów tej książki. I myslę, że to jedna wielka bujda, przynajmniej w php.

Wiadomo, że php wykonywany jest po stronie serwera. Załóżmy, że ktoś wporwadzi jakieś zmiany w bazie, to, aby sprawdzić (czyli obserwator) czy dane uległy zmianie musi np wydać odpowiednie zapytanie sql. Ale jak często ma to sprawdzać? Czyli trzebaby ustawić na szcztwno, że strona ma się odświeżać co 30sekund.


Albo ja nie łapie tego albo to jest otalnie pojeba**
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




I vice versa nospor (IMG:style_emoticons/default/wink.gif) Nawet pisząc strukturalnie można zaprowadzić kodzie ideologię wzorców, czego dobrym przykładem byłoby podzielenie kodu strukturalnego na "warstwy". Jarod, Taifun: na początku przetwarzasz żądanie ( kontroler/prezenter ), potem wywołujesz z bazy na jego podstawie dane Ci potrzebne ( model ) i umieszczasz je w strukturze generowanej strony (widok). Różnica między podejściem obiektowym i strukturalnym wynikała by tu jedynie z "innego opakowania". Ale sam schemat/zamysł pozostałby niezmieniony. Przykładowo ja tak w części starych serwisów robię. Nie mogę zmienić użytego narzędzia, przypuśćmy ograniczenie do określonej wersji MySQL, PHP i systemu szablonów. Pozostaje mi więc jedynie takie usystematyzowanie kodu strukturalnego, by zmieniając jedynie plik odpowiedzialny za pojedyncze zadanie, zrobić to nie burząc/nie modyfikując działania innych opartych o te same komponenty (jakieś shared typu footer czy head) czy w oparciu o ów modyfikowany, poprawić jakość i czytelność kodu, nieraz typowego spaghetti. Nie jest to jawne i wprost trzymanie się wzorca, ale pewnych jego założeń, które w późniejszym etapie (konserwacja i aktualizacja kodu) w wymierny sposób wpływają na czas obcowania z kodem będącym już poprawionym.
Go to the top of the page
+Quote Post

Posty w temacie
- J4r0d   W jakim celu stosuje się wzorce projektowe?   26.08.2006, 23:03:51
- - dr_bonzo   MVC tez jest wzorcem. Wzorzec to sprawdzone rozwi...   26.08.2006, 23:58:25
|- - J4r0d   Cytat(dr_bonzo @ 26.08.2006, 22:58 ) Musi...   27.08.2006, 12:00:56
- - J4r0d   Ok. Jeszcze jedno. Poniżej jest przykład z książki...   27.08.2006, 07:43:39
- - Cysiaczek   Tak. Pseudozmienna $this wskazuje na aktualny...   27.08.2006, 07:46:08
- - athabus   J4r0d - co do Twojego pierwszego pytania, to wzorc...   27.08.2006, 11:04:18
- - athabus   CytatNie rozumiem tego kodu tongue.gif Spójrz na ...   27.08.2006, 12:42:18
- - Taifun   a ja mam pytanie czy pisząc aplikacje PHP często s...   28.04.2011, 11:59:01
- - athabus   A dlaczego uważasz, że używanie wzorca nie jest wy...   28.04.2011, 12:13:10
- - nospor   Cytattak jak wam wygodniej czyli strukturaI dlacze...   28.04.2011, 12:15:35
- - Taifun   Piszę ponieważ ciężko przejść na obiektówkę z pisa...   28.04.2011, 12:24:25
- - athabus   Spróbuj wdrożyć jakiś framework obiektowy - zobacz...   28.04.2011, 12:29:45
- - kalipek   ja mam wskazówkę - przeczytaj porządną książkę w t...   28.04.2011, 12:40:51
- - Taifun   Nie lepiej zostać przy strukturalnym programowaniu...   28.04.2011, 12:46:08
- - athabus   Zdefiniuj "gdzieś". Jeśli chcesz klepać...   28.04.2011, 12:54:03
- - thek   I vice versa nospor Nawet pisząc strukturalnie mo...   28.04.2011, 13:06:10
- - kalipek   Mam coś po polsku i czytałem coś po polsku, tylko ...   28.04.2011, 13:32:20
- - LSM   @Jarod : Dokładnie miałem te same myśli co Ty kied...   17.06.2011, 02:19:25
- - irmidjusz   Chciałbym tu dodać, że wzorzec Obserwator jak najb...   6.03.2012, 23:46:39


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 01:44