Saat kita memprogram, kita semua mengembangkan praktik dan pola yang kita gunakan dan andalkan. Namun, seiring waktu, seiring dengan perubahan pemahaman, kedewasaan, dan bahkan penggunaan teknologi kita, kita menyadari bahwa beberapa praktik yang pernah kita anggap hebat ternyata tidak (atau tidak lagi berlaku).
Contoh praktik yang pernah saya gunakan cukup sering, tetapi beberapa tahun terakhir telah berubah, adalah penggunaan pola objek Singleton .
Melalui pengalaman saya sendiri dan perdebatan panjang dengan kolega, saya menyadari bahwa lajang tidak selalu diinginkan - mereka dapat membuat pengujian lebih sulit (dengan menghambat teknik seperti mengejek) dan dapat membuat penggabungan yang tidak diinginkan antara bagian-bagian sistem. Sebagai gantinya, saya sekarang menggunakan pabrik objek (biasanya dengan wadah IoC) yang menyembunyikan sifat dan keberadaan lajang dari bagian-bagian sistem yang tidak peduli - atau perlu diketahui. Sebaliknya, mereka mengandalkan pabrik (atau pencari layanan) untuk memperoleh akses ke objek tersebut.
Pertanyaan saya kepada masyarakat dalam semangat perbaikan diri adalah:
- Pola atau praktik pemrograman apa yang baru-baru ini Anda pertimbangkan kembali, dan sekarang coba Anda hindari?
- Dengan apa Anda memutuskan untuk menggantinya?