Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Wzorce] Jaka jest różnica pomiędzy wzorcem strategia a fabryka?
Forum PHP.pl > Forum > PHP > Object-oriented programming
deirathe
Właściwie to co je różni, bo dla mnie one robią to samo. Strategia pozwala rozbić rozwiązywanie danego problemu na klika podklas które zajmują się nim na różne sposoby i to samo wg mnie robi fabryka- kilka klas posiadających jeden interfejs rozwiązujących problem na różne sposoby. :?
dr_bonzo
Strategy - chodzi o wymienny algorytm
http://thecorporatecode.wordpress.com/2007...tern-explained/

http://en.wikipedia.org/wiki/Strategy_pattern:
Cytat
The strategy pattern is useful for situations where it is necessary to dynamically swap the algorithms used in an application. The strategy pattern is intended to provide a means to define a family of algorithms, encapsulate each one as an object, and make them interchangeable. The strategy pattern lets the algorithms vary independently from clients that use them.



Factory - tworzeie obietkow
http://en.wikipedia.org/wiki/Factory_Pattern
deirathe
Czyli jeżeli mówimy o strategy, to np. mam sobie jakiś plik do wyszukania, jeżeli nie znajdę go za pomocą jednej instancji danej klasy to tworzę drugą innej klasy z tym samym interfejsem i dalej próbuję,a w factory mam wiele rozwiązań ale używam tylko 1, które mi pasuje?
LBO
Różnica jest i to duża. Świadczy o tym już sam typ tych dwóch wzorców.
Fabryka to wzorzec kreacyjny. Wykorzystuje się go, by stworzyć obiekty, wykorzystując ujednolicony interfejs.
Strategia to wzorzec operacyjny, kontroluje jak wykonuje się program.

edit:
Cytat(deirathe @ 26.05.2009, 11:38:17 ) *
Czyli jeżeli mówimy o strategy, to np. mam sobie jakiś plik do wyszukania, jeżeli nie znajdę go za pomocą jednej instancji danej klasy to tworzę drugą innej klasy z tym samym interfejsem i dalej próbuję,a w factory mam wiele rozwiązań ale używam tylko 1, które mi pasuje?


Nie do końca. We wzorcu strategii bardziej rozchodzi się o to, żeby wyodrębnić algorytm szukania (w plikach, w bazie, wśród wzorków na na mojej pościeli etc biggrin.gif) i być w stanie przypisać i wymieniać go w czasie działania programu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.