Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Relacje między klasami - wątpliwości
rudi23
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 18.11.2012

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


Na etapie projektowania chodzi mi po głowie coś takiego...
Czy takie podejście jest prawidłowe?? Czy to podchodzi pod jakiś wzorzec projektowy?

Obiekt klasy A zawiera kolekcję złożoną z obiektów klas B.
Przy czym każdy obiekt B ma dostęp do klasy A do której należy.

Kod
class A {
    $_b = array();
    
    public function addB(B $b){
        $b->setA($this);
        $this->_b[] = $b;
    }
}

class B {
    protected $_a;
    
    public function setA(A $a){
        $this->_a = $a;
    }
    
    public function getA(){
        return $this->_a;
    }
}

$a = new A();
$a->addB(new B());
$a->addB(new B());
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kedan
post
Post #2





Grupa: Zarejestrowani
Postów: 53
Pomógł: 1
Dołączył: 20.07.2007

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


Ja tam nic zdrożnego nie widzę. Wygląda prawie jak drzewko (IMG:style_emoticons/default/smile.gif)
Niestety istnieje tu niebezpieczeństwo złożoności cyklicznej
  1. class b {
  2. foo() {
  3. $a->bar();
  4. }
  5. }
  6.  
  7. class a {
  8. bar() {
  9. $b->foo();
  10. }
  11. }

więc trzeba uważać co gdzie się wywołuje.
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: 13.10.2025 - 22:58