Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 1 Dołączył: 6.12.2007 Ostrzeżenie: (0%)
|
Jak zaimplementowac ten wzorzec w praktyce?
tak by moc wywolac np. Kod <? $obj=factory::make("myClass"); ?> co zwroci do zmiennej obiekt klasy myClass googlowalem, ale nic konkretnego nie wiem jak się za to zabrać. Ten post edytował Beynar 20.01.2008, 22:01:42 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 12 Dołączył: 6.01.2008 Skąd: Wrocław Ostrzeżenie: (0%)
|
Zrobię to na przykładzie. Mamy Pizzerię, która przygotowuje pizze, samą Pizzę oraz fabrykę pizz (PizzaFactory).
Wzorzec fabryki wygląda następująco: Kod class Pizzeria { private $fabryka; function __construct() { $this->fabryka = new PizzaFactory(); } function przygotujPizze($nazwaPizzy) { $pizza = $this->fabryka->make($nazwaPizzy); $this->podgrzejPizze($pizza); //... itd return $pizza; } } class PizzaFactory { function make($nazwaPizzy) { //przykladowa implementacja if ($nazwaPizzy == "margerita") return new Margerita(); else if ($nazwaPizzy == "americana") return new Americana(); //... itd } } Być może ten wzorzec nie jest tym czego potrzebujesz dokładnie (w twoim kodzie używasz funkcji statycznej). Są jeszcze inne podobne wzorce, które mogą być pomocne: metoda fabrykująca, singleton |
|
|
|
Beynar [php] Wzorzec fabryki klas? 20.01.2008, 21:57:37
dr_bonzo [PHP] pobierz, plaintext <?phpfunction make... 20.01.2008, 22:42:10
Beynar @Cotter tylko, ze tam na sztywno musze w fabryce ... 20.01.2008, 23:01:29 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 15:48 |