Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> System platnosci on-line - Jaki wzorzec?
jarexx
post
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 2
Dołączył: 1.07.2009

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


Witam,
Jestem poczatkujacym w OOP i mam nastepujacy problem.
Mianowicie chce zapimlementowac w serwisie rozne systemy platnosci on-line (platnosci.pl, przelewy24.pl, Paypal, i jeszcze kilka innych zagranicznych.)
Chce sobie w panelu administracyjnym ustawiac, ktory system ma byc uzywany.
Wiem, ze musze wykorzystac jakis wzorzec projektowy (strategia?) i polimorfizm.
Wiem, ze wszystkie klasy obslugi roznych platnosci musza implementowac wspolny interfejs lub dziedziczyc po wspolnej klasie abstrakcyjnej.
Prosilbym was o jakis pseudo kod, jak rozwiazac ten problem, tak by w przyszlosci dodanie nowego systemu platnosci wiazalo sie z napisaniem jednej konkretnej klasy.
Mam problem z przelaniem mojej wizji dzialania na kod.
Nie wiem w ktorej klasie powinna byc podejmowana decyzja, ktory system platnosci ma byc uzywany etc. etc.
Prosze o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
d3ut3r
post
Post #2





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


Trochę przekombinowałeś, moim zdaniem (IMG:style_emoticons/default/smile.gif)

  1.  
  2. interface PaymentSystem{
  3.  
  4. public function preparePayment();
  5. public function makePayment();
  6.  
  7. }
  8.  
  9.  
  10. class platnosciPL implements PaymentSystem{
  11.  
  12. ....
  13.  
  14. }
  15.  
  16. class otherPaySystem implements PaymentSystem{
  17.  
  18. ....
  19.  
  20. }
  21.  
  22. class PaymentFactory{
  23.  
  24. public static function CreateObject($paySystem){
  25.  
  26. switch ((int)$paySystem){
  27.  
  28. case 1:
  29. return new platnosciPL();
  30. break;
  31.  
  32. case 2:
  33. default:
  34. return new otherPaySystem();
  35.  
  36. }
  37. }
  38. }
  39.  
  40. $payment=PaymentFactory::CreateObject(1);
  41. $payment->preparePayment();
  42. $payment->makePayment();


Ten post edytował d3ut3r 5.08.2012, 05:56:44
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 - 15:36