Kapsama/Temsilci Seçme
COM'da nesne yeniden kullanımı için en yaygın mekanizma, kapsama/temsilci seçmedir. Bu yeniden kullanım türü, nesne odaklı dillerin ve sistemlerin çoğunda bulunan tanıdık bir kavramdır. İç nesnenin kullanılması gereken dış nesne, iç nesneye bir nesne istemcisi olarak davranır. Dış nesne iç nesneyi "içerir" ve dış nesne iç nesnenin hizmetlerini gerektirdiğinde, dış nesne uygulamayı açıkça iç nesnenin yöntemlerine temsilci olarak atar. Başka bir ifadeyle, dış nesne kendisini uygulamak için iç nesnenin hizmetlerini kullanır.
Dış ve iç nesnelerin aynı arabirimleri desteklemesi gerekmez, ancak dış nesnenin gerçekleştirmediği bir arabirim uygulayan bir nesne içermesi ve dış nesnenin yöntemlerini iç nesnedeki karşılık gelen yöntemlere çağrı olarak uygulaması kesinlikle mantıklıdır. Ancak dış ve iç nesnelerin karmaşıklığı büyük ölçüde farklılık gösterdiğinde, dış nesne iç nesnede uygulanan arabirim yöntemlerine çağrılar vererek arabirimlerinin bazı yöntemlerini uygulayabilir.
Dış nesne için kapsama uygulamak kolaydır. Dış nesne, diğer istemciler gibi kullanması gereken iç nesneleri oluşturur. Bu yeni bir şey değildir; dış nesne kendi başına bir dize nesnesi olarak kabul edilmese bile, işlem belirli dize işlevlerini gerçekleştirmek için kullandığı bir C++ dize nesnesi içeren bir C++ nesnesi gibidir. Ardından, iç nesneye yönelik işaretçisini kullanarak dış nesnedeki bir yönteme yapılan çağrı, iç nesne yöntemine bir çağrı oluşturur.
İlgili konular