Sobes.tech
Middle

Mobil geliştirmede geleneksel olarak hangi tasarım kalıpları kullanılır?

sobes.tech yapay zeka

AI'dan gelen yanıt

MVC (Model–View–Controller): Uygulamayı üç ilişkili bölüme ayırır: Model (veri ve iş mantığı), Görünüm (UI) ve Denetleyici (bağlantı).

MVP (Model–View–Presenter): MVC'nin geliştirilmiş versiyonu, burada Presenter görünüm mantığını üstlenir ve Görünüm daha pasif hale gelir.

MVVM (Model–View–ViewModel): Görünüm mantığını ve bağlı olduğu verileri içeren bir ViewModel kullanır. Testleri ve sorumlulukların ayrımını kolaylaştırır.

Observer (Gözlemci): Nesnelerin (gözlemcilerin) başka bir nesnenin (öznenin) değişikliklerine abone olmasını ve gerçekleştiğinde bildirim almasını sağlar. Sıkça UI olayları veya veri değişiklikleri için kullanılır.

Singleton (Tekil): Bir sınıfın yalnızca bir örneği olmasını garanti eder ve ona küresel erişim noktası sağlar. Yöneticiler, servisler için kullanılır.

Factory (Fabrika): Bir sınıf ailesi için nesne oluşturma arayüzü sağlar, alt sınıfların oluşturulacak nesne türünü seçmesine izin verir. Nesne oluşturma mantığını kapsüllemek için kullanılır.

Dependency Injection (Bağımlılık Enjeksiyonu): Nesnelerin bağımlılıklarını dışarıdan almasını sağlar, kendi başlarına oluşturmaktan ziyade. Test edilebilirliği ve esnekliği artırır. Örnekler: Dagger, Koin.

Repository (Depo): Farklı kaynaklardan (veritabanı, ağ, önbellek) erişimi soyutlar. Verilerle çalışmak için temiz bir API sağlar.

Strategy (Strateji): Bir algoritma ailesini tanımlar, her birini kapsüller ve birbirinin yerine kullanılabilir hale getirir. Çalışma zamanında algoritmayı seçmeye olanak tanır.