Saya akan mengatakan bahwa blog Noel Llopis mungkin adalah instruksi terbaik untuk kombinasi pemrograman berorientasi objek dan desain berorientasi data. Dia adalah salah satu penggagas istilah DOD, adalah seorang programmer C ++ yang kuat, dan telah menulis banyak tentang gayanya dan bagaimana dia mengambil keuntungan dari fitur O ++ C ++.
Saya kira jika saya memanggil elemen kunci untuk menggabungkannya, menurut Noel:
- Gunakan POD dan fungsi non-anggota, non-teman sebanyak mungkin. Non-anggota, fungsi non-teman meningkatkan enkapsulasi dan merupakan bagian kunci dari orientasi data karena mereka menyimpan data, data.
- Hindari menyimpan status "sementara" pada objek Anda. Keadaan sementara menyumbat data Anda. Jika Anda perlu men-cache sesuatu (misalnya untuk kinerja) maka itu termasuk dalam kelas baru, dengan fungsi non-anggota non-teman yang menghubungkan kedua jenis, bukan hubungan is-a atau has-a.
- Hindari objek yang bisa dalam keadaan A atau keadaan B. Lebih suka beralih di antara dua objek, salah satunya adalah A, dan salah satunya adalah B.
- Hindari polimorfisme, hindari fungsi virtual, hindari templat, hindari apa pun yang membuat data Anda memiliki tampilan sintaksis yang sama dari pada kesamaan yang sebenarnya .
Nama besar lainnya dalam propaganda DOD sekarang adalah Mike Acton dari Insomniac, tetapi membaca apa yang ditulisnya, saya katakan dia tidak benar-benar pro-OO (atau anti-OO, asalkan masih berorientasi data).