Bu tasarım deseni nasıl denir?

2 Cevap php

Eğer bu tasarım deseni Nasıl diyorsunuz?

class Foo {
   protected $delegates = array();
   //...
   public function __call($method,$argv) {
      //call $this->$something->$method($argv), where $something is a mapping from $this->delegates
   }
}

Ben spekülasyon olabilir, ama emin değilim, o yüzden size sormak istedim.

2 Cevap

Zaten adı Delegation pattern?

Heyet ve kalıtım hem de nesne yönelimli yazılım tasarımı önemli kavramlardır, ama herkes desenleri olarak etiket olacaktır. Özellikle, "Dörtlü Çete" ile tasarım desenleri seminal kitap miras ve heyet bir tartışma içerir, ancak yazarlar özel desenler gibi bu konular ele alınmaz. Bu özel tasarım desenleri daha geneldir tasarım konseptleri olarak düşünmek mantıklıdır.

Heyeti başka bir nesneye nesne ileriye belli yöntemi çağrıları, onun temsilci denilen nesneler arasındaki bir ilişki olarak görülebilir. Heyet ayrıca, güçlü bir tasarım / yeniden tekniği olabilir. Temsilci kolayca çalışma zamanında değiştirilebilir - heyetinin başlıca avantajı, esneklik zamanlı çalıştırılır. Ama kalıtım aksine, heyet doğrudan en popüler nesne yönelimli diller tarafından desteklenen ve dinamik polimorfizmi kolaylaştırmak değildir.