Ben bu iki sınıf var ve sınıf Retrodoc () metodu çalıştırmak ($ versionId) yürütmek için versionPath bilmesi gerekir. Yani iyi modellemesi nedir? Ben yönteminde Sürüm instanciate mı ve sonra (yöntem getVersionPath kullanabilirsiniz)?
Versiyon yolu bağımlı nesnenin ömrü boyunca sabit kalır, sonra Retrodoc bir üye değişken oluşturmak ve bir versiyon nesnesi başlatmasını ve constructor olarak getter arayarak başlatılamadı. Yapıcı kapsam dışına gittiğinde Sonra nesne yok olacak, sizin nesnenin içinde kullanışlı değere sahip ve inşa ve bir imha __ için __ bir işlev çağrısı artı bir çağrı sadece yapmak. Sürüm yolu, tek bir temel tür saklanır.
Yolun bir vadede bir çağrı değişecek bir şey varsa, o zaman sürüm sınıf üyesi itiraz olur. sonra alıcı zaman işlevi çalıştırmak her zaman diyoruz, ama her zaman yaratmak ve onu yok etmez. Hala her çağrı için yıkıcı artı gaz giderici bir çağrı yapıcı ve birine yalnızca bir çağrı.
Bu Retrodoc nesne olan-bir versiyonunu görünümünde bir UML tasarım açısından ilişkinin var-bir türüdür. Bu bileşim olarak adlandırılır. Işlev çağrıları (inşaat ve yıkım dahil) bir defalık maliyet olan ve nesneleri ilkellerinden daha yüksek bellek maliyeti sahip en verimli tasarımı seçmeye çalışın.