Tasarım Modelleri: Java'da Singleton

Yayınlanan: 2021-11-13

Tasarım Modelleri, nesne yönelimli yazılım geliştirmede mevcut en iyi uygulamaları kullanmaları gerektiğinde programcılar için faydalıdır. Tasarım Modelleri, eldeki tasarım problemini çözmek için kanıtlanmış ve denenmiş ve test edilmiş çözümler olarak anlaşılabilir. Tasarım Sistemleri sorunu, çözümü, çözümün ne zaman uygulanacağını ve sonuçlarını açıklar. Bir bakıma Tasarım Kalıpları, yazılım geliştiricilerin belirli nesne yönelimli tasarım problemlerini çözerken uygulayabilecekleri farklı şablonlar olarak düşünülebilir.

Sıfırdan kodlamaya kıyasla Java'da Tasarım kalıplarını kullanmanın özelliklerinden bazıları şunlardır:

  • Tasarım Modelleri zaten tanımlanmış ve uygulanmıştır. Sonuç olarak, tekrarlayan sorunları çözmek için standart bir yaklaşım sağlarlar. Bu anlamda, programcıların çok zaman ve emekten tasarruf etmesine yardımcı olur.
  • Tasarım Modellerini kullanmak, kod parçanızın yeniden kullanılabilirliğini sağlar, bu da Java kodunuzun yüksek düzeyde sürdürülebilirliğine ve sağlamlığına yol açar. Tüm bunlar, eldeki yazılımın toplam sahip olma maliyetini (TCO) azaltır.
  • Tasarım Modelleri, kodun okunmasını ve anlaşılmasını kolaylaştırır, bu da daha hızlı iletişim ve sorunsuz yazılım geliştirmeye yol açar.

Java programlama dili, programcılar ve geliştiriciler için genel olarak üç kategoriye ayrılabilen çeşitli Tasarım Modelleri sunar:

  • Yaratıcı Tasarım Desenleri
  • Yapısal Tasarım Desenleri
  • Davranışsal Tasarım Modelleri

Bu kalıpların tümü farklı kullanım durumları ve amaçları için kullanılmaktadır. Bu makale aracılığıyla, Creational Design Patterns kategorisine giren Java - Singleton Design Pattern'den bir tür Design Pattern'den bahsedelim.

İçindekiler

Java'da Singleton Tasarım Modeli

Singleton Design Pattern, Creational Design Pattern kategorisine aittir. Bu örneğe global bir erişim noktası sağlayarak bir sınıfın yalnızca bir örneğe sahip olmasını sağlar. Bunu yaparken, Singleton Tasarım Modeli aynı anda iki sorunu çözer – bunlar şunları içerir:

1. Belirli bir sınıfın yalnızca bir örneği olmasını sağlar.

Bu, özellikle bir veritabanı veya dosya gibi paylaşılan kaynaklar üzerinde çalışırken dikkate alınması önemlidir. Bir nesne yarattığınızı, ancak bir süre sonra yeni bir tane oluşturmaya karar verdiğinizi hayal edin. Singleton Design Pattern'de, yeni bir nesne almak yerine, daha önce yapmış olduğunuz nesneyi alacaksınız. Bu şekilde, bu Tasarım Modeli, nesne fazlalığı olmamasını ve bir sınıfın yalnızca bir örneğine sahip olmasını sağlar. Yapıcı çağrılarının her zaman yeni bir nesne döndürmesi gerektiğinden, bu davranışı yapıcılarla çoğaltmak imkansızdır.

2. Belirli bir örneğe genel bir erişim noktası sağlar.

Temel nesneleri depolamak için kullandığınız global değişkenler oldukça kullanışlıdır. Ayrıca, herhangi bir kod parçasının, sizin için hatalı bir kod parçasına yol açacak şekilde, global değişkenlerinizin içeriğinin üzerine yazma gücüne sahip olduğundan, aynı derecede güvensizdirler. Global değişkenler gibi Singleton Patterns de programın herhangi bir yerinden farklı nesnelere erişmenizi sağlar. Ancak, global değişkenlerin aksine Singleton Patterns, bu örneğin başka bir program tarafından üzerine yazılmasını engeller.

Günümüzde, Singleton Tasarım Modeli o kadar yaygın olarak kullanılıyor ve yaygın ki, programcılar yukarıda listelenen sorunlardan sadece birini çözse bile bir şeye Singleton diyebilirler. Singleton Design Patterns'in tüm uygulamaları, aşağıdaki ortak iki adıma sahiptir:

  • Diğer sınıfların ve nesnelerin Singleton sınıflarıyla yeni operatörler kullanmasını önlemek için varsayılan kurucuyu özel yapmak.
  • Yapıcı olarak işlev görecek bir statik oluşturma yöntemi oluşturma. Bu yöntem, daha sonra, bir nesne oluşturmak için özel kurucuyu çağırır ve onu statik bir alana kaydeder. Bu belirli yönteme yapılan tüm çağrılar şimdi önbelleğe alınmış nesneyi döndürür.

Hükümetin işleyişi, Singleton Tasarım Modellerinin nasıl çalıştığını anlamak için mükemmel bir gerçek hayat örneğidir. Hükümetleri oluşturan bireylerin kişisel kimlikleri ne olursa olsun, “X Hükümeti” unvanı, hakkında konuşulan insan grubunu tanımlayan küresel erişim noktasıdır.

Java'da Singleton Tasarım Modeli Uygulamak

Java'da kendi Singleton Tasarım Modelinizi uygulamak için lütfen aşağıdaki adımları izleyin:

  • Singleton örneğini depolamak istediğiniz sınıfa özel bir statik alan ekleyin.
  • Uygun singleton örneğini almak için genel bir statik yöntem bildirmelisiniz.
  • Şimdi, statik yöntem içinde “tembel başlatma” yürütmeniz gerekiyor. Bu, esasen ilk çağrısında yeni bir nesne geliştirmeli ve bunu statik alana yerleştirmelidir. Statik yöntem, sonraki tüm çağrılarda her zaman o belirli örneği döndürmelidir.
  • Yapıcıyı özel yapın. Sınıfın statik yöntemi yine de yapıcıyı çağırabilir, ancak diğer nesneleri değil.
  • Lütfen müşteri kodunu gözden geçirin ve Singleton'ın yapıcısına yapılan tüm doğrudan çağrıları, onun statik oluşturma yöntemine yapılan çağrılarla değiştirin.

Sonuç olarak

Java, oldukça çeşitli ve etkili bir programlama dilidir ve günümüzde kullanılan web ve masaüstü uygulamalarının çoğu için bir temel olarak ortaya çıkmıştır. Programcıların optimize edilmiş bir şekilde daha iyi performans gösteren yazılımlar geliştirmek için kullanabilecekleri çeşitli özellikler ve stratejiler sağlar. Tasarım Kalıpları, Java programcıları tarafından kodlarını okunabilir, yeniden kullanılabilir ve anlaşılabilir kılmak için benimsenen böyle bir stratejidir.

Tasarım Kalıpları, hevesli herhangi bir yazılım geliştiricisinin incelemesi gereken temel kavramlardan birini oluşturur. Yazılım geliştirme dünyası geniştir ve ön uç, arka uç, veritabanı, sunucu ve daha fazlasının tüm yönlerini kapsar. Böyle bir senaryoda, öğrenme yaklaşımınıza göre saatin ihtiyacı organize edilmelidir. upGrad'da, yazılım geliştirme alanında uzun süreli bir kariyer oluşturmanıza yardımcı olacak Yazılım Geliştirme Kurslarına göz atabilirsiniz. IIIT-B ile işbirliği içinde sunulan bu kurs, endüstri uzmanları tarafından verilmektedir ve size kariyerinizi seçtiğiniz yönde ilerletme şansı verir. Kurs ayrıntılarına göz atın ve bugün kaydolun - kurs 30 Eylül 2021'de başlıyor!

Singleton Tasarım Kalıbı, Java ile kullanılabilen tek tasarım kalıbı mı?

Hayır, Java, programcılar için birçok Tasarım Modeli sunar ve Singleton bunlardan sadece biridir.

Java ile kullanılabilen Tasarım Modelleri türleri nelerdir?

Java, geliştiriciler için genel olarak üç tür tasarım deseni sağlar;
1. Yaratıcı Tasarım Desenleri
2. Yapısal Tasarım Kalıpları
3. Davranışsal Tasarım Modelleri

Java'da Tasarım Kalıpları kullanmanın faydaları nelerdir?

Tasarım Modellerini kodunuzda kullanmak, aşağıdaki kesin çekim avantajlarını sunar:
1. Gelişmiş okunabilirlik
2. Modülerliği geliştirin
3. Kolay erişilebilirlik
4. Program tasarlama ve oluşturma kolaylığı.