Alıntı (canalpay):
> Alıntı:
> sıradüzene
derken ne demek istediniz ?
O sözü sınıf sıradüzeni (class hierarchy) anlamında kullandım. O kütüphanenin tasarımında; her topluluk veri yapısının ne tür bir arayüz tanımladığı, türetildiği 'interface''lerle belirleniyormuş.
Şuna benzer bir örnek geçti:
class Topluluk : ElemanEklenebilenTopluluk, ElemanSilinebilenTopluluk
{
// ...
}
Kütüphane, veri yapılarını 'ElemanEklenebilenTopluluk' gibi arayüzleri lego parçaları gibi birleştirerek oluşturuyormuş.
Alexandrescu, bunun kullanışlı bir tasarım olmadığını söylüyor. "Topluluğu 'ElemanEklenebilenTopluluk' arayüzüne uygun olarak kullanmak yeterli değil" diyor. Her topluluğun temelde ne olduğunun bilinmesi ve o veri yapısı olarak kullanılması gerektiğini hatırlatıyor. Yani; bir "bağlı liste, bağlı liste olarak kullanılır" gibi... Fazla serbesti yok... (Scott Meyers'ın "Effective STL" C++ kitabı da benzer konulara dikkat çeker.)
Öte yandan, bir topluluğu tam olarak hangi veri yapısı olduğunu bilmeden kullanmanın aralık (range) kavramı ile sağlanması gerektiğini bildiriyor. Ama Steven Schveighoffer de "o kütüphanede zaten aralıklar var" diyor. :)
Çok hızlıca aktardım; kusura bakmayın... :/
Ali
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]