Proje tasarımı
İleri seviye finali mini uygulamasının iskeletini tasarlarsın.
Proje: Komut çalıştırıcı
Bu 5 derslik projede bir komut çalıştırıcı (command runner) yapacaksın. Her derste bir parça ekleyecek, son derste çalışan bir bütün elde edeceksin. Çekirdek: bir ICommand arayüzü ve bu arayüzü uygulayan komut sınıfları.
İlk ders projenin iskeletini kurar: ICommand arayüzü (string Execute() metodu), HelloCommand adında bir somut komut ("Merhaba" döndürür) ve bunu çağıran bir Main. Sonraki derslerde bu iskeleyi async, reflection ve bağımlılık enjeksiyonu ile genişleteceğiz.
Komut deseni
Bu proje komut deseniinin (command pattern) sade bir uygulamasıdır. Her eylem kendi sınıfına gömülür; hepsi aynı arayüzü uygular. Çalıştırıcı yalnızca ICommand arayüzünü tanır; somut komutu bilmez. Böylece yeni komut eklemek mevcut kodu bozmaz.
Somut komut HelloCommand, Execute() çağrılınca "Merhaba" döndürür. Main bir örnek yaratır, sonucu yazdırır. Bu minik başlangıç, sonraki derslerde async ve reflection ile büyüyecek.
Uygulama Komut iskeletini kur
Bir ICommand arayüzü tanımla; string Execute() metodu olsun. HelloCommand : ICommand sınıfı Execute() çağrılınca "Merhaba" döndürsün. Main'de bir HelloCommand örneği yarat ve Console.WriteLine(cmd.Execute()) ile sonucu yazdır.
Örnek çözümü göster
ICommand { public string Execute() => "Merhaba"; } yaz. Main'de: var cmd = new HelloCommand(); Console.WriteLine(cmd.Execute());
Örnek çözüm:
using System;
interface ICommand
{
string Execute();
}
class HelloCommand : ICommand
{
public string Execute() => "Merhaba";
}
class Program
{
static void Main()
{
var cmd = new HelloCommand();
Console.WriteLine(cmd.Execute());
}
}
Kendini test et
-
Bu projenin çekirdeği nedir?
- ICommand arayüzü ve komut sınıfları
- Bir veritabanı bağlantısı
- Bir web sunucusu
- Bir konsol menüsü
Cevabı göster
ICommand arayüzü ve komut sınıfları — Doğru. ICommand arayüzü ve onu uygulayan komut sınıfları projenin çekirdeğidir.
-
Arayüz metodunu tamamla
string ____();Cevabı göster
string Execute(); -
Proje terimlerini eşleştir
- ICommand
- Komut sözleşmesi
- HelloCommand
- İlk somut komut
- Execute
- Çalıştırma metodu
- Main
- Program girişi