Rekayasa Perangkat Lunak

32
Izinkan iterasi vektor internal tanpa membocorkan implementasi

Saya memiliki kelas yang mewakili daftar orang. class AddressBook { public: AddressBook(); private: std::vector<People> people; } Saya ingin memungkinkan klien untuk beralih pada vektor orang. Pikiran pertama yang saya miliki hanyalah: std::vector<People> & getPeople { return...

32
Prinsip ilmu paling sedikit

Saya memahami motif di balik prinsip paling sedikit pengetahuan , tetapi saya menemukan beberapa kelemahan jika saya mencoba menerapkannya dalam desain saya. Salah satu contoh dari prinsip ini (sebenarnya bagaimana tidak menggunakannya), yang saya temukan dalam buku Head First Design Patterns...

32
Menggunakan GUID sebagai Kunci Utama

Saya biasanya menggunakan ID kenaikan otomatis sebagai Kunci Utama dalam database. Saya mencoba mempelajari manfaat menggunakan GUID. Saya telah membaca artikel ini: https://betterexplained.com/articles/the-quick-guide-to-guids/ Saya menyadari bahwa GUID ini digunakan untuk mengidentifikasi objek...