Mustafa UCA ve TheGizem'in Çektiği HERKESİ ŞAŞIRTAN FLAŞ VİDEO!
1 hafta önce - Teknoloji
Proje geliştirme süreçlerinde hiç kuşkusuz ki nesneler ile çalışıyoruz ve bu nesnelerden örnekler üretiyoruz. Nesnelerimiz arttıkça nesne üretimi de haliyle artıyor ve üretilen her nesne bellekte bir yer kaplıyor. Bu da bir maliyet ve performans kaybı olarak bize geri dönüyor.Böyle bir sorundan kurtulmak istiyorsak Singleton Design Pattern tamda bu noktada devreye giriyor.
Singleton Design Pattern uygulamanın yaşam süresince bir nesnenin bir kez oluşturulmasını sağlar. Böylelikle nesne bir kez üretilir ve gelen bütün taleplere üretilen nesne üzerinden cevap verilir. Ve tekrar bir nesne üretimi yapılmaz.
Bir adet Student sınıfı oluşuturuyoruz ve bize bir student bilgisini dönmesini sağlıyoruz.
Örnek; |
---|
public class Student { public string Name { get; set; } public string SurName { get; set; } public int Age { get; set; } public Student() { Name = "Kübra"; SurName = "Solmaz"; Age = 25; } } |
public class StudentManager { private StudentManager() { } static StudentManager _studentManager; static object _lock = new object(); public static StudentManager Instance() { lock (_lock) { if (_studentManager==null) { _studentManager=new StudentManager(); } return _studentManager; } } public string GetStudent(Student student) { return String.Format($"Name : {student.Name} SurName: {student.SurName} Age :{student.Age}"); } } |
Sıra geldi Program.cs içersinde manager sınıfımızı kullanmaya.
Örnek; |
---|
var manager = StudentManager.Instance(); Console.WriteLine(manager.GetStudent(new Student())); Console.ReadKey(); |
Projeyi çalıştırıp debug ettiğinizde nesne üretiminin bir kez yapıldıktan sonra diğer bütün taleplerin ilk üretilen nesne üzerinden karşılandığını göreceksiniz. Böylelikle Singleton Design Pattern ile nesne üretimini merkezi bir noktadan daha performanslı bir hale getirmiş olduk.
SpeedtestCopyright © 2019 Azbucuk. Tüm hakları saklıdır.