C#
Birleştirme
Tüm katmanları birleştirerek çalışan bir uygulama yazarsın.
Konsol menüsü ile birleştirme
Son ders tüm parçaları Main içinde birleştirir: kitap ekle, adedini yazdır, dosyaya kaydet. Bu, projenin çalışır bütün halidir.
Bir menü döngüsü de kurulabilir: while ile kullanıcıdan komut okunur, switch ile dağıtılır. Bu derste basit bir akışla başlayıp kitap ekleme, listeleme ve kaydetme adımlarını arka arkaya yapacaksın.
Akış tasarımı
İyi bir Main akışı: önce veriyi hazırla (kitap ekle), sonra sorgula (FindByAuthor veya Count), en son kaydet (Save). Her adım bir önceki dersin kazandığı bir üyeyi çağırır.
Bu yapı, projenin birikimli doğasını gösterir: her ders bir tuğla koydu, son ders tuğlaları bir bina haline getirir. İleride menü döngüsü ve hata yönetimi de ekleyebilirsin.
Uygulama Tüm akışı birleştir
Aşağıdaki Library sınıfı tüm metotlarıyla hazır. Main içinde: iki kitap ekle (lib.Add), adedini yazdır (lib.Count), dosyaya kaydet (lib.Save). Adedi Console.WriteLine ile yazdır.
Örnek çözümü göster
lib.Add(new Book { Title = "Suç ve Ceza", Author = "Dostoyevski" }); lib.Add(new Book { Title = "Karamazov Kardeşler", Author = "Dostoyevski" }); Console.WriteLine(lib.Count); lib.Save("books.txt");
Örnek çözüm:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.Json;
class Book
{
public string Title { get; set; }
public string Author { get; set; }
}
class Library
{
private List<Book> _books = new List<Book>();
public void Add(Book b) => _books.Add(b);
public int Count => _books.Count;
public IEnumerable<Book> FindByAuthor(string author)
{
return _books.Where(b => b.Author == author);
}
public void Save(string path)
{
string text = JsonSerializer.Serialize(_books);
File.WriteAllText(path, text);
}
}
class Program
{
static void Main()
{
var lib = new Library();
lib.Add(new Book { Title = "Suç ve Ceza", Author = "Dostoyevski" });
lib.Add(new Book { Title = "Karamazov Kardeşler", Author = "Dostoyevski" });
Console.WriteLine(lib.Count);
lib.Save("books.txt");
}
}
Kendini test et
-
Adımı işleve eşle
- Add
- Kitap ekle
- Count
- Adedi yazdır
- FindByAuthor
- Yazara ara
- Save
- Dosyaya kaydet
-
Projeyi birleştiren neresi?
- Main metodu
- Book sınıfı
- using satırı
- Yorumlar
Cevabı göster
Main metodu — Doğru. Main metodu tüm parçaları çağırıp birleştirir.
-
Save çağrısını tamamla
lib.____("books.txt");
Cevabı göster
lib.Save("books.txt");
Sıradaki ders: Orta seviye bölüm sınavı