Singleton Tasarım Deseni’nde Caching Yapısı

 

İki farklı thread’in yakın zaman içinde bu sınıfın nesnesini oluşturmak isteyebilir. Klasik Singleton Tasarım Deseni‘ne göre yakın zaman aralığında olduğu için birbirlerinden habersiz olarak, aynı nesneyi 2 kere oluşturarak gereksiz kaynak kullanımına neden olur. Bunu engellemek için aşağıda ki kodda olduğu gibi synchronized yapısı kullanılarak bu yapının içine giren thread synchronizede ait nesneyi çıkana kadar tutar ve başka thread’in girmesini engeller. Böylece yakın zamanda dahi olsa bu yapılar birbirlerini beklemeden singleton nesnesini oluşturmalarının önüne geçilmiş olur.

Caching Nedir?

Caching, bir web projesinin daha performanslı çalışmasını sağlayan, verileri belli bir süre RAM’de tutarak kullanıcıya hızlı sunum yapan yapılardır.

Aşağıda ki kodda veritabanından bilgiler 2 saatte bir çekilerek RAM’de saklanmaktadır. 2 saati geçmesi durumunda yeniden veritabanı bağlantısı sağlanılarak veriler elde edilir.

SingletonCache sınıfını ise Test sınıfı ile test edelim. Veritabanı bağlantısı ayarlarını yapmadığınız sürece hata verecektir.

İndirmek için: GitHub – Onur ARSLAN


Java Developer

Yazıyı Paylaş

Recent Articles

Yorum Yaz

© 2021 Onur Arslan. Tüm Hakları Saklıdır. · RSS Yazıları · RSS Yorumları