Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jaki to wzorzec projektowy?
Forum PHP.pl > Forum > PHP > Object-oriented programming
hostingekspert
Witajcie,

przygotowuje się do egzaminu na "Zend PHP5 Certyfication". Jedno z pytań na które dziś trafiłem w Voucherze to

Consider the following series of classes and interfaces

  1. <?php
  2. interface MyInterface {
  3. public function getTitleAndAuthor();
  4. }
  5.  
  6. class MyClass {
  7.  
  8. private $_author;
  9. private $_title;
  10.  
  11. public function getAuthor() {
  12. return $this->_author;
  13. }
  14.  
  15. public function getTitle() {
  16. return $this->_title;
  17. }
  18. }
  19.  
  20. class MyClass2 {
  21.  
  22. private $_instance;
  23.  
  24. public function __construct(MyClass $a) {
  25. $this->_instance = $a;
  26. }
  27.  
  28. public function getTitleAndAuthor() {
  29. $retval = array(
  30. 'title' => $this->_instance->getTitle(),
  31. 'author' => $this->_instance->getAuthor()
  32. );
  33. return $retval;
  34. }
  35. }
  36.  
  37. class MyClass3 {
  38. public function doSomething(MyInterface $instance) {
  39. $value = $instance->getTitleAndAuthor();
  40. }
  41. }
  42.  
  43. ?>


MyClass2 is an example of the ________ design pattern.

Jaką odpowiedź byście udzielili??
wookieb
Ja bym powiedział, że Component, ale mało się znam na wzorcach. Teraz nawet wstawianie spacji pomiędzy znakami operacji arytmetycznych się nazywa wzorcem, ale co mi po tym. Trzeba wiedzieć jakie są rozwiązania i jak z nich korzystać.
dr_bonzo
Wyglada na Adapter

http://en.wikipedia.org/wiki/Design_patter...mputer_science) i jedziesz po kolei.

Creational patterns od razu odpadaja - bo nic tu nie tworzysz.
Concurrency patterns tez.
z Behavioral patterns nic nie pasuje.
Wiec z Structural patterns - tylko Adapter.
hostingekspert
dzięki chłopaki smile.gif
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.