(Bu soru bağlamında olarak PHP kullanır ama sadece PHP ile sınırlı değildir. Örneğin karma inşa sahip herhangi bir dil de alakalıdır)
Bu örneğe (PHP) bakalım:
function makeAFredUsingAssoc()
{
    return array(
        'id'=>1337,
        'height'=>137,
        'name'=>"Green Fred");
}
Karşı:
class Fred
{
    public $id;
    public $height;
    public $name;
    public function __construct($id, $height, $name)
    {
        $this->id = $id;
        $this->height = $height;
        $this->name = $name;
    }
}
function makeAFredUsingValueObject()
{
    return new Fred(1337, 137, "Green Fred");
}
Yöntem # 1 ancak kolayca gibi hata neden olabilir, ders terser biridir
$myFred = makeAFredUsingAssoc();
return $myFred['naem']; // notice teh typo here
Tabii ki, bir o $myFred->naem aynı derecede doğrudur, hangi hata yol açacaktır iddia edebilir. Ancak resmi bir sınıf olan sadece bana daha sert hissediyor, ama gerçekten haklı olamaz.
Ne her yaklaşımı kullanarak artıları / eksileri olacak ve ne zaman insanlar hangi yaklaşımı kullanmak gerekir?