şunu söylemek isterim Noel Llopis'in blogunun muhtemelen nesne odaklı programlama ve veri odaklı tasarımın bir kombinasyonu için en iyi talimat . DOD teriminin yaratıcılarından biri, güçlü bir C ++ programcısıdır ve stili ve C ++ 'ın OO özelliklerinden nasıl yararlandığı hakkında çok şey yazmıştır.
Noel'e göre onları birleştirmenin temel unsurlarını söylesem sanırım:
- POD ve üye olmayan, arkadaş olmayan işlevleri olabildiğince kullanın. Üye olmayan, arkadaş olmayan işlevler kapsüllemeyi geliştirir ve verileri, verileri sakladıkları için veri yöneliminin önemli bir parçasıdır.
- Nesnelerinizde "geçici" durum saklamaktan kaçının. Geçici durum verilerinizi tıkar. Yeni bir sınıfa ait bir şeyi önbelleğe almanız gerekiyorsa (ör. Performans için), iki türü birbirine bağlayan, üye olmayan arkadaş olmayan işlevlerle a-a veya a-bir ilişki değil.
- A veya B durumunda olabilecek nesnelerden kaçının. Biri A ve biri B olan iki nesne arasında geçiş yapmayı tercih edin.
- Çok biçimlilikten kaçının, sanal işlevlerden kaçının, şablonlardan kaçının, verilerinizin gerçek benzerlik yerine sözdizimsel benzerliğe sahip olmasını sağlayan her şeyden kaçının .
DOD propagandasındaki diğer büyük isim şu anda Insomniac'dan Mike Acton, ancak yazdıklarını okurken gerçekten pro-OO (veya hala veri odaklı olduğu sürece anti-OO olmadığını) söyleyebilirim.