crazy_coder
Moderatör
- Katılım
- 20 Şub 2026
- Mesajlar
- 204
- Tepkime puanı
- 0
- Puanları
- 16
ASP.NET Core MVC: Modern Web Mimarisinin Temelleri
MVC (Model-View-Controller), yazılım dünyasında kodun sorumluluklarını üç ana parçaya bölen bir tasarım desenidir. Bu desen sayesinde arayüz kodları, iş mantığı ve veri tabanı işlemleri birbirine karışmaz, proje yönetimi kolaylaşır.
1. MVC Nedir? Parçaların Görevleri
[]Model (Veri): Uygulamanın veri yapısını ve iş mantığını temsil eder. Genellikle veritabanı tablolarına karşılık gelen sınıflardır (Entity Framework Core ile yönetilir).
[]View (Arayüz): Kullanıcının gördüğü kısımdır. HTML, CSS ve C# kodlarını birleştiren Razor motorunu kullanır.- Controller (Yönetici): Trafik polisidir. Kullanıcıdan gelen isteği (Request) alır, Model'den veriyi çeker ve uygun View'ı kullanıcıya döndürür (Response).
2. İstek Akışı (Request Life Cycle)
Bir kullanıcı tarayıcıya www.site.com/Urun/Detay/5 yazdığında şunlar olur:
[]Routing (Yönlendirme): Sistem bu isteğin UrunController içindeki Detay metoduna (Action) gideceğini anlar.
[]Controller: 5 ID'li ürünü Model (veritabanı) aracılığıyla bulur.
[]View: Bulunan ürün verisi View'a gönderilir.
[]Render: Sunucu HTML çıktısını hazırlar ve kullanıcının tarayıcısına gönderir.
3. Razor View Engine: C# ve HTML'in Dansı
MVC'de .cshtml uzantılı dosyalar kullanılır. Burada @ sembolünü kullanarak HTML içine doğrudan C# kodları gömebilirsiniz.
HTML:
@model List<Urun>
<h1>Ürün Listesi</h1>
<ul>
@foreach (var urun in Model)
{
<li>@urun.Ad - @urun.Fiyat.ToString("C")</li>
}
</ul>
4. Neden ASP.NET Core MVC Seçilmeli?
| Özellik | Açıklama |
|---|---|
| Dependency Injection | Framework'ün içine gömülüdür, servis yönetimi çok kolaydır. |
| Middleware | İstek hattına (pipeline) özel kontroller (loglama, yetki) ekleyebilirsiniz. |
| Cross-Platform | Windows'ta yazıp Linux sunucuda (Docker ile) çalıştırabilirsiniz. |
| Performans | .NET Core, dünyanın en hızlı web frameworklerinden biridir. |
5. Modern Yaklaşım: MVC mi, Web API mi?
Son yıllarda "Single Page Application" (React, Angular, Vue) yükselişiyle birlikte MVC'nin View kısmı yerini Web API'ye bırakmaya başladı. Ancak kurumsal yönetim panelleri, SEO odaklı içerik siteleri ve hızlı prototipleme için MVC hala sektörün vazgeçilmezidir.
Sonuç
ASP.NET Core MVC öğrenmek, sizi sadece bir web geliştirici yapmaz; aynı zamanda temiz kod (Clean Code) ve katmanlı mimari (Layered Architecture) prensiplerini anlamanızı sağlar. Modelinizi sağlam kurup, Controller'ınızı "ince" (thin) tutarak harika projeler üretebilirsiniz.