Sobes.tech
Junior — Middle

Singleton deseniğinin kullanımı tek sorumluluk ilkesini ihlal eder mi?

sobes.tech yapay zeka

AI'dan gelen yanıt

Singleton Desenini kullanmak, tek başına Tek Sorumluluk Prensibi'ni (Single Responsibility Principle, SRP) ihlal etmez. SRP, bir sınıfın yalnızca bir değişiklik nedeni olması gerektiğini, yani belirli bir görevi üstlenmesi gerektiğini söyler.

Singleton, bir sınıfın yalnızca bir örneği olmasını garanti eden ve buna küresel erişim noktası sağlayan bir desendir. Singleton uygulayan sınıf yalnızca bir sorumluluğa sahipse, SRP ihlal edilmez.

Ancak, sık sık Singleton, birden fazla işlevi yerine getirmeye başlayan sınıflar için kullanılır ve bu da SRP'nin ihlaline yol açar. Bu nedenle, sorumlulukları bölmek ve Singleton'u ek görevlerle aşırı yüklememek önemlidir.

Doğru bir Singleton örneği:

class Logger {
    static let shared = Logger()
    private init() {}

    func log(_ message: String) {
        print(message)
    }
}

Burada Logger sadece günlük kaydı ile ilgilidir ve Singleton, tek örneğe erişimi kolaylaştırmak için kullanılır.