Kategori: Tasarım Desenleri
-
Adapter, Strategy ve Factory Pattern ile Çoklu Dosya Yüklemek
Modern yazılımlarda dosya yüklemek genellikle Amazon S3 veya Azure Blob gibi servislerle yapılır. Ancak birçok kurum hala FTP gibi eski altyapıları kullanmaktadır. Bu yazıda, eski ve yeni dosya yükleme sistemlerini nasıl tek bir noktadan yönetebileceğimizi, Adapter, Strategy ve Factory Pattern’lerini kullanarak anlatmaya çalışacağım. Bu senaryoda kullandığım tasarım desenleri ve görevleri şu şekilde: İlk olarak bir…
-
Singleton Tasarım Deseni: En Sık Yapılan Hatalar ve Çözümleri
1 – Gizli Bağımlılık Problemi Singletone bir nesneyi DI kullanarak ihtiyaç duyulan nesneye vermek gerekir. Aksi takdirde aşağıdaki gibi hatalı bir davranış test yazarken singleton nesneyi mock edememene sebep olur. Sınıfın dışa bağımlılığı yokmuş gibi görünmesine sebep olur. Bu sınıfı test ederken LoggerSingleton’ı mock edemezsiniz çünkü KitchenService sınıfı içinde bir constructor bulunmuyor. Bunun yerine DI…
-
Factory Tasarım Deseni
Temel mantık birbirine benzer nesnelerin aynı arayüzden türetilerek oluşturulmasıdır. Bununla beraber sınıflar bir arayüzden tanımlandığı için gevşek bağlılık prensibini de yerine getirmiş olur. Genel olarak kullanım şekli isteği gönderen istemcinin gönderdiği isteğe göre sonucu döndürebilecek yapının çalışma zamanında oluşturulmasıdır. İşin püf noktası zaten burada gizli “istemciden gelen bilgiye göre yapının oluşturulması”. Bu tasarım deseni bilgisine…