Vue.js DRY Kod Yazımı ve Temiz Kod: Slots, Mixins ve Composition API
Anahtar Kelime: Vue.js DRY kod yazımı
Bu Rehberde Ne Öğreneceksiniz?
Bu rehber Vue.js projelerinde tekrar eden kodları azaltmayı öğretir.
Slots, Mixins ve Composition API ile temiz kod mimarisi kurarsınız.
Spagetti koddan kurtulup ölçeklenebilir yapı oluşturursunuz.
Teknik Özet
- Konu: Vue.js’te DRY (Temiz Kod) prensibi
- Problem: Tekrarlanan template ve logic
- Çözüm: Slots, Mixins ve Composition API
- Sonuç: Daha okunabilir ve sürdürülebilir kod
DRY (Don’t Repeat Yourself) Nedir?
DRY, kod tekrarını önlemeyi hedefler.
Amaç, kopyala-yapıştır yerine modüler yapı kurmaktır.
Bu yaklaşım bakım maliyetini ciddi şekilde düşürür.
Ön Gereksinimler
- Node.js 14.16.0 veya üzeri
- Vue CLI kurulu olmalı
- Vue 3 temel bilgisi
- HTML, CSS ve JavaScript bilgisi
1️⃣ Slots ile Esnek ve Tekrarsız Layout Yapısı
Slots, tekrar eden HTML iskeletini ortadan kaldırır.
Layout bileşenleri sayfa düzenini merkezileştirir.
<template>
<div class="container">
<slot />
</div>
</template>
- Bu yapı tüm sayfalar için ortak kapsayıcı sağlar.
2️⃣ Mixins ile Ortak Mantık Paylaşımı
- Mixins, birden fazla bileşende aynı fonksiyonları kullanmayı sağlar.
- Ancak büyük projelerde karmaşa oluşturabilir.
export default {
methods: {
bolgeFormatla(bolge) {
return `${bolge.isim} (${bolge.kod})`
}
}
}
- Küçük projelerde hızlı çözüm sunar.
3️⃣ Composition API ile Modern ve Temiz Mimari
- Composition API, Vue 3’ün önerilen yaklaşımıdır.
- Logic tek bir setup() fonksiyonunda toplanır.
import { ref, onMounted } from 'vue'
import { useRoute } from 'vue-router'
setup() {
const route = useRoute()
const formatliIsim = ref('')
onMounted(() => {
formatliIsim.value = route.params.kod
})
return { formatliIsim }
}
- Bu yapı mixin karmaşasını ortadan kaldırır.
Composition API’nin Avantajları
1. Netlik: this karmaşası yoktur
2. Modülerlik: Kod mantığa göre gruplanır
3. Ölçeklenebilirlik: Büyük projelerde düzen sağlar
4. TypeScript uyumu: Güçlü tip desteği sunar
Slots, Mixins ve Composition API Karşılaştırması
| Yöntem | Ne Sağlar |
|---|---|
| Slots | Template tekrarını azaltır |
| Mixins | Ortak logic paylaşımı |
| Composition API | Temiz ve ölçeklenebilir yapı |
❓ Sıkça Sorulan Sorular
1. Mixins mi Composition API mi tercih edilmeli? Vue 3 projelerinde Composition API önerilir.
2. Slot kullanımı performansı etkiler mi? Hayır, slotlar derleme aşamasında optimize edilir.
3. ref ile reactive arasındaki fark nedir? ref ilkel değerler içindir. reactive objeler için kullanılır.
4. setup() içinde neden this yok? setup, bileşen oluşturulmadan önce çalışır.
Sonuç
Bu rehberde Vue.js’te DRY ve temiz kod mimarisini öğrendiniz. Slots ile HTML tekrarını kaldırdınız. Composition API ile modern ve sürdürülebilir yapı kurdunuz.
Projelerinizi yüksek performanslı altyapıda yayınlamak için Rabisu Bulut çözümlerini hemen deneyebilirsiniz.