25 Ocak 2026 Pazar

Web Programlama - 3. Sınıf - 2. Ünite Özet

Web Programlama 2 - Ünite 2: MVC ve ASP.NET Core
Ders Notları

MVC Yapısı ve ASP.NET Core

Web Programlama 2 - Ünite 2: Proje Döngüsü ve Mimari

Mimari Disiplin Olarak MVC

Bu ünite, sadece kod yazmayı değil, bir "mimari disiplin" ve "proje yaşam döngüsü" kavramlarını ele alır. Modern web geliştirmede omurga görevi gören MVC yapısını ve ASP.NET Core temellerini 5 ana başlıkta inceleyeceğiz.

1

Geliştirme Ortamı ve Kurulum

Entegre Geliştirme Ortamı (IDE)

Visual Studio (Community)

Tam kapsamlı, profesyonel ve öğrenme amaçlı ücretsiz sürüm.

Visual Studio Code

Daha hafif, eklenti tabanlı ve hızlı editör alternatifi.

Kurulumda Kritik Nokta

Mühendislik yaklaşımıyla doğru iş yüklerini (workloads) seçmek elzemdir:

  • ASP.NET ve Web Geliştirme
  • SQL Server Express LocalDB (Veritabanı için)
2

ASP.NET Core Proje Anatomisi

Çözüm Gezgini

  • MyMvcProject
    • Connected Services
    • Dependencies // NuGet Paketleri
    • wwwroot // Statik Dosyalar (CSS, JS)
    • Controllers
    • Models
    • Views
    • Program.cs // Giriş Noktası
    • Startup.cs // Konfigürasyon
    • appsettings.json

Program.cs (Giriş Noktası)

Uygulamanın Main metodunu barındırır. Web sunucusunu (Kestrel/IIS) ayağa kaldırır.

Startup.cs (Projenin Beyni)

ConfigureServices:
Servislerin (Dependency Injection) konteyner'a eklendiği yer.
Configure:
HTTP istek hattının (Middleware) ve Routing'in ayarlandığı yer.

wwwroot

Dış dünyaya açık klasör. CSS, resim ve JavaScript kütüphaneleri burada saklanır.

3

MVC Mimarisi: Sorumlulukların Ayrılığı

Yazılımın "Separation of Concerns" ilkesine göre üç ana katmana bölünmesidir.

Model

Veri ve İş Mantığı

Uygulamanın verilerini (Örn: Öğrenci, Kitap) ve iş kurallarını temsil eder. Veritabanı işlemleri buradadır.

View

Sunum Katmanı

Kullanıcının gördüğü arayüzdür. .cshtml uzantılıdır ve Razor motoru ile HTML içine C# gömülür.

Controller

Karar Mekanizması

İstekleri (Request) karşılar, Model'i işler ve hangi View'in döneceğine karar verir.

4

İstek Yaşam Döngüsü ve Routing

Varsayılan Rota Şablonu

Startup.cs / Program.cs
{controller=Home}/{action=Index}/{id?}

id? : Soru işareti parametrenin opsiyonel olduğunu belirtir.
Eğer kullanıcı kök dizine (/) giderse, sistem otomatik olarak Home Controller'daki Index metodunu çalıştırır.

Örnek İstek Analizi
http://localhost:3000/Ogrenci/Index/100
1. Controller: OgrenciController
2. Action Metot: Index()
3. Parametre (id): 100
5

Kodlama: Teoriden Pratiğe

1. Controller Oluşturma

İsimler mutlaka "Controller" sonekiyle bitmelidir. Metotlar IActionResult döndürür.

Controllers/OgrenciController.cs C#
using Microsoft.AspNetCore.Mvc;

public class OgrenciController : Controller
{
    // Action Metodu
    public IActionResult Index()
    {
        // Views/Ogrenci/Index.cshtml dosyasını render eder.
        return View(); 
    }
}

2. Model Oluşturma

Veri yapısını tanımlayan sıradan C# sınıflarıdır (POCO).

Models/Ogrenci.cs C#
public class Ogrenci
{
    public int Id { get; set; }
    public string OgrAd { get; set; }
    public string OgrSoyad { get; set; }
}

3. View Oluşturma

HTML içine C# kodu yazmayı sağlayan Razor sözdizimi (@) kullanılır.

Views/Ogrenci/Index.cshtml Razor HTML
@* Model tanımlaması *@
@model List<Ogrenci>

<h2>Öğrenci Listesi</h2>

<ul>
    @foreach (var ogr in Model)
    {
        <li>@ogr.OgrAd @ogr.OgrSoyad</li>
    }
</ul>

Web Programlama 2 © 2024

Ünite 2: MVC Yapısı ve ASP.NET Core - Akademik Ders Notları

Hiç yorum yok:

Yorum Gönder

Web Programlama - 3. Sınıf - 8. Ünite Özet

Web Programlama 2 - Ünite 8: LINQ Teknolojisi Ders No...