.NET

.NET Tasarım Desenleri

Singleton, Factory, Builder, Strategy, Decorator, Repository, Unit of Work, SOLID

24 mülakat soruları·
Senior
1

Dependency Injection ile modern .NET'te Singleton deseninin temel sorunu nedir?

Cevap

Klasik Singleton deseni (statik örnek), sıkı bağımlılık oluşturduğu ve test etmeyi zorlaştırdığı için dependency injection ile çakışır. Modern .NET'te, DI üzerinden 'Singleton' servis yaşam süresini (services.AddSingleton) kullanmak daha iyidir; bu, aynı tekil örnek garantisini sunarken injection, mocking ve test edilebilirliği mümkün kılar. Statik Singleton, DI container'ı atlar ve gizli bağımlılıklar oluşturur.

2

Factory Method deseninde, .NET'te Factory Method ile Abstract Factory arasındaki fark nedir?

Cevap

Factory Method, tek bir nesne türü (örn. CreateLogger) oluşturmak için sanal bir metot tanımlar ve alt sınıfların hangi somut sınıfı örnekleyeceğine karar vermesini sağlar. Abstract Factory, ilişkili nesne ailelerini (örn. CreateButton, CreateTextBox içeren IUIFactory) oluşturmak için bir interface tanımlar ve birden fazla tutarlı ürünün birlikte oluşturulmasına olanak tanır. Factory Method polimorfizmle tek bir ürüne odaklanır, Abstract Factory ise aynı ailenin birden fazla ürününü yönetir.

3

Çok sayıda isteğe bağlı parametreye sahip karmaşık nesneler oluşturmak için .NET'te Builder deseninin temel avantajı nedir?

Cevap

Builder deseni, nesneyi adım adım oluşturmak için akıcı bir interface sağlayarak teleskopik yapıcıları (farklı parametre kombinasyonlarına sahip çok sayıda aşırı yükleme) önler. 10'dan fazla parametreli yapıcıların aksine, isteğe bağlı parametrelere sahip karmaşık nesneleri okunabilir ve bakımı kolay biçimde oluşturmayı sağlar. Modern C#'ta init property'ler ve record'lar basit durumlarda Builder'ın yerini alabilir, ancak Builder karmaşık doğrulama veya çok adımlı yapım için hâlâ kullanışlıdır.

4

SOLID'deki Single Responsibility Principle (SRP) nedir ve .NET'te nasıl uygulanır?

5

SOLID'deki Open/Closed Prensibi (OCP) nedir ve .NET'te interface'lerle nasıl uygulanır?

+21 mülakat soruları

Bir sonraki mülakatın için .NET'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla