Genel Programlama: nesnelerin bir dizi başka bir nesne tarafından yönetilen, ne diyorsunuz?

0 Cevap php

Ben yardım bu tasarım deseni belirlenmesi ve kullandığı "tipik" kelime öğrenme için arıyorum:

PHP bir proje üzerinde çalışıyorum, ve ben ve veritabanından genel nesneleri kaydeder ince bir ORM katman oluşturduk. Işi iki sınıf vardır:

  • "My_object" temelde verilerin çeşitli için bir kaptır. Yaratılıyor sonra bu nesne db kendini kurtarabilir.
  • Eğer çoğu almak ve bunların arasında dolaşmak istedim "my_object_manager" Örneğin, nesneleri bir dizi yönetmek için kullanılır.

Basitleştirilmiş bir örnek olarak, sizin gibi bir şey olabilir:

$post = new my_object('post');
$post->title = 'foo';
$post->body = 'bar';
$post->author = 'baz';

Eğer mesaj bir demet yüklemek istedim ... ve sen gibi bir şey yapabilirsiniz:

$posts = new my_object_manager('post');
$somePosts = $posts->getBy('author','baz');
foreach( $somePosts as $aPost ) {
    ...loop stuff here...
}

Yani benim soru şudur: "my_object_manager" için sınıf tanımı ben nesne tür yönetilen ediliyor ne tanımlayan bir özellik saklamak gerekir. Bunun gibi bir şey görünüyor:

class my_object_manager {
    protected $theKindOfObjectThatThisManages;

    function __construct($whatToManage) {
        $this->theKindOfObjectThisManages = $whatToManage;
    }
}

Şimdi, temel şeyler bu tür bilmeden beni affet, ama kendini yetiştirmiş olduğum ve oldukça sınırlı bir programlama kelime var. Ben tasarım modelinin bu tür ortak eminim, ama beni yaşam için ben ne denir anlamaya mümkün olmamıştır.

Ben denilen gerekir "$ theKindOfObjectThatThisManages" ne beklersiniz bu kodu okuma olsaydı benim gerçek soru, diğer programcılar okuyup anlayabileceği kod yazmaya çalışıyorum, SO ediyorum? Bu program, tasarım deseni ne denir, ve bunu ne yaptığını bilmek için diğer programcılar istiyorsanız, bir nesnenin, bu tür ne diyorsunuz?

Son olarak, soru editör attı ve bu soru subjektif görünüyor ve kapalı olma olasılığı olduğunu söyledi. Bu soru yığın taşması için Tamam, aslında, umut - ama eğer, nerede bu soruyu sormak ve bir cevap alabilir?

Teşekkür ederiz!

0 Cevap