Programlarken hepimiz kullandığımız ve güvendiğimiz uygulamalar ve kalıplar geliştiririz. Ancak, zamanla anlayışımız, olgunluğumuz ve hatta teknoloji kullanımımız değiştikçe, bir zamanlar harika olduğunu düşündüğümüz bazı uygulamaların olmadığını (veya artık geçerli olmadığını) fark ederiz.
Bir zamanlar oldukça sık kullandığım, ancak son yıllarda değiştiğim bir uygulamaya örnek, Singleton nesne modelinin kullanımıdır .
Kendi deneyimlerim ve meslektaşlarımla yaptığım uzun tartışmalar sayesinde, tekillerin her zaman arzu edilmediğini anladım - test etmeyi daha zor hale getirebilirler (alay etme gibi teknikleri engelleyerek) ve bir sistemin parçaları arasında istenmeyen bağlantı oluşturabilirler. Bunun yerine, artık tekillerin doğasını ve varlığını sistemin umursamayan veya bilmesi gereken kısımlarından gizleyen nesne fabrikaları (tipik olarak bir IoC konteyneri ile) kullanıyorum. Bunun yerine, bu tür nesnelere erişim elde etmek için bir fabrikaya (veya hizmet bulucuya) güvenirler.
Kendini geliştirme ruhuyla topluma sorularım:
- Son zamanlarda hangi programlama kalıplarını veya uygulamaları yeniden gözden geçirdiniz ve şimdi kaçınmaya çalışıyorsunuz?
- Onları neyle değiştirmeye karar verdiniz?