Harika! Şimdi geçiyoruz:
📘
11.4 – UI (Form) Üzerinden İş Mantığına Erişim
🔹 Açıklama:
UI (User Interface) yani kullanıcı arayüzü, yazılımla kullanıcı arasında köprü kurar.
3 katmanlı mimaride UI’nın görevi yalnızca:
- Girişleri almak
- İş mantığını başlatmak
- Sonuçları ekranda göstermek
olmalıdır. Veri işleme, filtreleme ve hesaplama gibi tüm işlemler Business katmanında olmalıdır.
UI ile Business katmanı arasında doğrudan bağlantı kurulur. Entity sınıfları UI’dan gelen veriyi taşır.
Business sınıfı ise bu veriyi işler ve UI’ya sonucunu geri gönderir.
🔍 Nerelerde Kullanılır?
- Form ekranlarında veri girişi
- Listeleme sonuçlarının ekranda gösterimi
- Butonlar ve kontroller üzerinden mantık çağrısı
- DataGridView, ListBox, ComboBox, TextBox üzerinden etkileşimli işlem başlatma
🧱 Bağlantı Adımları:
| Aşama | İşlem |
|---|---|
| 1 | UI’dan veri alınır (TextBox, ComboBox, NumericUpDown vb.) |
| 2 | Entity sınıfına atanır |
| 3 | Business sınıfındaki metotlar çağrılır |
| 4 | Sonuçlar uygun UI kontrolüne aktarılır (ListBox, Label vb.) |
🎯 Kazanımlar:
Bu başlığı tamamlayan öğrenci:
- UI katmanından veri toplayıp doğru yere aktarabilir
- İş mantığını UI’dan çağırmayı öğrenir
- Katmanlar arası bağlantıyı örneklerle kavrar
- UI’yı sadece arayüz olarak kullanarak temiz kod yazmayı öğrenir
🧪 11.4 – UI (Form) Üzerinden İş Mantığına Erişim: 5 Uygulamalı Örnek
📌 Örnek 1: Formdan Öğrenci Bilgisi Alıp Listeye Ekleme
➤ UI (Form):
private void btnEkle_Click(object sender, EventArgs e)
{
Ogrenci o = new Ogrenci
{
Ad = txtAd.Text,
Numara = Convert.ToInt32(txtNumara.Text)
};
OgrenciBusiness.Ekle(o);
MessageBox.Show("Öğrenci eklendi.");
}
📝 Açıklama:
Kullanıcının girdiği veriler Entity sınıfına atanır, Business sınıfı ile işlenir.
📌 Örnek 2: Ürünleri Liste Kutusunda Gösterme
➤ UI (Form):
private void btnListele_Click(object sender, EventArgs e)
{
lstUrunler.Items.Clear();
foreach (var u in UrunBusiness.Listele())
{
lstUrunler.Items.Add($"{u.Ad} - {u.Fiyat} ₺");
}
}
📝 Açıklama:
Business sınıfından alınan liste UI üzerinde kullanıcıya sunulur.
📌 Örnek 3: Giriş Kontrolü ve Uyarı Mesajı
➤ UI (Form):
private void btnGiris_Click(object sender, EventArgs e)
{
string ad = txtKullanici.Text;
string sifre = txtSifre.Text;
bool basariliMi = KullaniciBusiness.GirisYap(ad, sifre);
if (basariliMi)
MessageBox.Show("Giriş başarılı");
else
MessageBox.Show("Hatalı giriş");
}
📝 Açıklama:
UI yalnızca kullanıcıdan bilgiyi alır ve sonucu gösterir. Mantık arkada işler.
📌 Örnek 4: Ortalama Notu Hesaplayıp Label’da Gösterme
➤ UI (Form):
private void btnHesapla_Click(object sender, EventArgs e)
{
double ortalama = NotBusiness.OrtalamaHesapla();
lblOrtalama.Text = "Ortalama: " + ortalama.ToString("0.00");
}
📝 Açıklama:
Business sınıfı işlemi yapar, UI sonucu etiket ile sunar.
📌 Örnek 5: Maaş Zammı İşlemi ve Liste Güncelleme
➤ UI (Form):
private void btnZamYap_Click(object sender, EventArgs e)
{
double oran = Convert.ToDouble(txtZamOrani.Text);
PersonelBusiness.ZamYap(oran);
lstPersonel.Items.Clear();
foreach (var p in PersonelBusiness.Listele())
{
lstPersonel.Items.Add($"{p.Ad} - {p.Maas} ₺");
}
}
📝 Açıklama:
Kullanıcıdan alınan zam oranı iş mantığına iletilir, sonuç ekranda güncellenir.
✅ Özet:
Bu örneklerle öğrenci:
- UI katmanının görevlerini kavradı
- Veri girişi, işlem ve çıktı ayrımını öğrendi
- Katmanlar arasında bağımsız ve düzenli iletişim kurmayı pratiğe döktü






