Başka bir seçenek, yapının uygulamasının bir kısmının başka bir türe işaretçi olduğu PIMPL deyimini kullanmaktır . Sınıfın çoğu kullanıcısı, uygulamanın opak bir işaretçi olduğu normal başlık dosyasını içerir. Özel verilere erişmesi gereken sınıflar, diğer türü tanımlayan üstbilgiyi içerebilir ve sağladığı arabirimi kullanabilir.
Bu, arkadaş benzeri işlevsellik isteyen C programcıları için ortak bir modeldir. Benim düşünceme göre, kapsüllemeden ziyade endişelerin ayrılmasını ( yeniden kullanılabilir, dikey bir koda yol açan genel olarak iyi bir tasarım ilkesi) düşünmeye daha yakından bakmaktadır (endişelerin ayrılmasını uygulamak için yararlı olan, ancak sıklıkla yanlış kullanılmış şeyleri aşırı karmaşık hale getirmek için).
Arkadaşa arkadaşla arkadaş-ee'yi eşleştirmemesi bir arkadaşa göre avantajlıdır. Bazı insanlar bunun bir dezavantaj olduğunu iddia edebilir, çünkü şimdi herkes sınıfınıza "arkadaş" olabilir. Bence bu, haksız bir korku çünkü hala ilişkiyi açıklığa kavuşturuyorsunuz (üstbilgiyi dahil ederek). Bundan korkuyorsanız, (veya iş arkadaşınızın) akıllı mimari kararlar verme yeteneğinizden korkuyorsunuz. Ancak bu kararları daha sonra düzgün bir şekilde veremiyorsanız, neden friend
şimdi kendinize güveniyorsunuz ?
Çalışma zamanı maliyetinin dezavantajı vardır. Verileri bir işaretçide depolayarak daha kötü önbellek tutarlılığına ve daha fazla ayırma sayısına sahip olursunuz ve ayrıca temizlemek için bir yıkıcıya ihtiyacınız vardır.