Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Wzorzec fabryki klas?, a dokladnie obiektów
Beynar
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Cotter
post
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
Go to the top of the page
+Quote Post

Posty w temacie


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: 8.10.2025 - 09:00