![]() |
| Kotlin Submenu |
Android Geliştirmede Profesyonel Mimari: Silo Yapısı ve Dinamik Navigasyon
Mobil uygulama geliştirme sürecinde projeler büyüdükçe kod karmaşası (Spaghetti Code) kaçınılmaz hale gelebilir. Profesyonel bir geliştirici için en kritik adım, uygulamanın "Ana Kimliğini" (Main Identity) sağlam bir hiyerarşi üzerine kurmaktır. Bu yazıda, modern Android uygulamalarında kullanılan Silo Mimarisini ve kod kalitesini artıran dinamik yönlendirme tekniklerini inceleyeceğiz.
1. Silo Yapısı Nedir?
Silo yapısı, birbiriyle ilişkili içeriklerin veya özelliklerin mantıksal gruplar altında toplanmasıdır. Örneğin, bir eğitim uygulamasında tüm gramer konularını tek bir listede sunmak yerine; "Zamanlar", "Fiiller" ve "Cümle Yapıları" gibi ana silolar oluşturmak hem UX (Kullanıcı Deneyimi) hem de ASO (Store Optimizasyonu) açısından büyük avantaj sağlar.
2. Dinamik Navigasyon ile Kod Tasarrufu
Her alt başlık için yeni bir Activity (Sayfa) oluşturmak, projenin yönetimini imkansız kılar. Bunun yerine, ana menüden gönderilen veriye göre şekillenen tek bir SubCategoryActivity kullanmak en profesyonel yaklaşımdır.
3. Örnek Kotlin Uygulaması
Aşağıdaki örnekte, ana menüden seçilen kategorinin alt sayfaya nasıl dinamik olarak aktarıldığını görebilirsiniz:
// 1. Ana Menüdeki Yönlendirme Mantığı
private fun handleNavigation(categoryTitle: String) {
val intent = Intent(this, SubCategoryActivity::class.java)
// Veriyi 'putExtra' ile alt sayfaya taşıyoruz
intent.putExtra("EXTRA_CATEGORY_NAME", categoryTitle)
startActivity(intent)
}
// 2. Alt Sayfada (SubCategoryActivity) Veriyi Karşılama
class SubCategoryActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_sub_category)
val categoryName = intent.getStringExtra("EXTRA_CATEGORY_NAME")
// Gelen kategoriye göre içeriği dinamik olarak yükle
when (categoryName) {
"Tenses" -> setupTensesMenu()
"Verbs" -> setupVerbsMenu()
else -> showGeneralContent()
}
}
}
onCreate dışında tanımlayarak sınıfın en altına eklemek, kodun okunabilirliğini ve bakımını (maintenance) kolaylaştırır.
Sonuç: Önce Altyapı, Sonra İçerik
Uygulamanın tasarımına veya içeriğine odaklanmadan önce bu modüler yapıyı kurmak, "Teknik Borçlanmayı" önler. Altyapısı sağlam bir uygulama, yeni özellikler eklenirken çökmez ve geliştiriciye esneklik sağlar.

0 Yorumlar