Nesneleri Yeniden Kullanma
Nesne modellerinin önemli bir hedefi, nesne yazarlarının başkaları tarafından sağlanan nesneleri kendi uygulamalarının parçaları olarak yeniden kullanmalarını ve genişletmelerini sağlamaktır. Bunu Microsoft Visual C++ ve diğer dillerde gerçekleştirmenin bir yolu, uygulama devralmakullanmaktır. Bu, bir nesnenin diğer işlevleri geçersiz kılarken bazı işlevlerini başka bir nesneden devralmasına ("alt sınıf") izin verir.
Geleneksel uygulama devralmayı kullanan sistem genelinde nesne etkileşiminin sorunu, bir uygulama hiyerarşisindeki nesneler arasındaki sözleşmenin (arabirim) net bir şekilde tanımlanmamasıdır. Aslında örtük ve belirsizdir. Ebeveyn veya çocuk nesne uygulamasını değiştirdiğinde, ilgili bileşenlerin davranışı tanımsız veya kararsız bir şekilde uygulanabilir hale gelebilir. Uygulamanın tüm bileşenleri aynı anda güncelleştiren tek bir mühendislik ekibi tarafından yönetilebildiği tek bir uygulamada, bu her zaman önemli bir konu değildir. Bir ekibin bileşenlerinin, diğer ekipler tarafından oluşturulan diğer bileşenlerin kara kutu yeniden kullanımıyla oluşturulduğu bir ortamda, bu tür bir kararsızlık yeniden kullanımı tehlikeye atıyor. Ayrıca, uygulama devralma genellikle yalnızca işlem sınırları içinde çalışır. Bu durum, birçok mühendislik ekibi tarafından oluşturulan yazılım bileşenlerinden oluşan geniş ve sürekli gelişen sistemler için geleneksel uygulama devralmayı pratik olmayan hale getirir.
Yeniden kullanılabilir bileşenler oluşturmanın anahtarı, nesneyi opak bir kutu olarak değerlendirebilmektir. Bu, başka bir nesneyi yeniden kullanma girişiminde bulunan kod parçasının, kullanılan bileşenin iç yapısı veya uygulaması hakkında hiçbir şey bilmediği ve hiçbir şey bilmemesi gerektiği anlamına gelir. Başka bir deyişle, bir bileşeni yeniden kullanma girişiminde bulunan kod, tam olarak uygulanmasına değil, nesnenin davranışına bağlıdır.
Kara-kutu yeniden kullanılabilirliğini elde etmek için COM, kapsama/delegasyon ve toplamagibi diğer yerleşik yeniden kullanılabilirlik mekanizmalarını benimser.
Not
Kolaylık sağlamak için, yeniden kullanılan nesne iç nesne olarak adlandırılır ve bu iç nesnenin kullanıldığı nesne, dış nesne.
Bu iki mekanizmada da dış nesnenin istemcilerine nasıl göründüğünü hatırlamak önemlidir. İstemcilere gelince, her iki nesne de istemcinin işaretçi alabileceği herhangi bir arabirimi uygular. İstemci dış nesneyi opak bir kutu olarak kabul eder ve bu nedenle dış nesnenin iç yapısıyla ilgilenmez ve ilgilenmesi de gerekmez."İstemci yalnızca davranışı önemser.
Daha fazla bilgi için aşağıdaki konulara bakın: