1. Sunum (Presentation/UI) Katmanı
(Kullanıcı arayüzü - HTML, TypeScript, Dialog, Grid)
🔹 XYZPage.ts
📌 Ne İşe Yarar?
- Kullanıcı arayüzünün TypeScript tarafındaki tanımıdır.
- Serenity'nin Dialog ve Grid bileşenlerini içeren bir TypeScript sınıfıdır.
📌 Çok Katmanlı Mimarideki Yeri:
- Sunum Katmanı (Presentation Layer)
- Kullanıcıdan veri almak ve göstermek için kullanılır.
🔹 XYZGrid.ts
📌 Ne İşe Yarar?
- Tablo (Grid) yapısını oluşturur ve verileri listeler.
- Filtreleme, sıralama ve sayfalama işlemleri için kullanılır.
columnsKeyile hangi kolonların gösterileceğini belirler.
📌 Çok Katmanlı Mimarideki Yeri:
- Sunum Katmanı (Presentation Layer)
- Kullanıcının verileri listelediği ve etkileşimde bulunduğu yerdir.
🔹 XYZDialog.ts
📌 Ne İşe Yarar?
- CRUD (Create, Read, Update, Delete) işlemlerini yöneten pencere (modal) bileşeni
- Kullanıcı form aracılığıyla veri ekler, günceller veya siler.
XYZForm.csile birlikte çalışır.
📌 Çok Katmanlı Mimarideki Yeri:
- Sunum Katmanı (Presentation Layer)
- Kullanıcının form doldurduğu, veri ekleyip güncellediği kısım.
2. İş Mantığı (Business Logic) Katmanı
(Veri işleme, validasyon, API çağrıları)
🔹 XYZPage.cs
📌 Ne İşe Yarar?
- C# tarafında Controller mantığı ile çalışır.
- MVC’deki Controller gibi düşünülebilir.
- Kullanıcının isteğini alır ve ilgili servislere yönlendirir.
📌 Çok Katmanlı Mimarideki Yeri:
- İş Mantığı Katmanı (Business Logic Layer)
- Kullanıcının isteğini işler ve yönlendirir.
🔹 XYZEndpoint.cs
📌 Ne İşe Yarar?
- Serenity’nin API endpoint’ini (Web API) oluşturur.
- İstemciden (frontend) gelen istekleri işler.
- Veriyi
XYZRepository.csüzerinden getirir.
📌 Çok Katmanlı Mimarideki Yeri:
- İş Mantığı Katmanı (Business Logic Layer)
- API seviyesinde istemci ile backend arasında köprü görevi görür.
3. Veri Erişim (Data Access) Katmanı
(Veri tabanıyla etkileşim, CRUD işlemleri, ORM kullanımı)
🔹 XYZRow.cs
📌 Ne İşe Yarar?
- Veri tabanı tablosunu temsil eden ORM sınıfıdır.
- Serenity’nin kendi ORM sistemine (Entity Framework alternatifi) dayanır.
- Kolonları ve ilişkileri tanımlar.
📌 Çok Katmanlı Mimarideki Yeri:
- Veri Erişim Katmanı (Data Access Layer)
- Veritabanı şemasıyla birebir ilişkilidir.
🔹 XYZForm.cs
📌 Ne İşe Yarar?
- Form alanlarını (input) tanımlar.
- Kullanıcıya gösterilecek alanları belirler.
XYZDialog.tstarafından kullanılır.
📌 Çok Katmanlı Mimarideki Yeri:
- Veri Erişim Katmanı (Data Access Layer)
- Hangi alanların kullanıcı tarafından doldurulacağını tanımlar.
🔹 XYZColumns.cs
📌 Ne İşe Yarar?
- Tablo (Grid) için hangi sütunların gösterileceğini tanımlar.
- UI'de hangi verilerin görüneceğini belirler.
📌 Çok Katmanlı Mimarideki Yeri:
- Veri Erişim Katmanı (Data Access Layer)
- Grid için hangi kolonların gösterileceğini belirler.
4. Veri Tabanı (Database) Katmanı
(SQL işlemleri, veri saklama, CRUD yönetimi)
🔹 XYZDeleteHandler.cs
📌 Ne İşe Yarar?
- Veritabanından bir kaydı silme (DELETE) işlemini yönetir.
- Silme işlemi sırasında belirli kontroller eklenebilir.
📌 Çok Katmanlı Mimarideki Yeri:
- Veri Tabanı Katmanı (Database Layer)
DELETE FROM XYZ WHERE ID = ?gibi işlemleri yönetir.
🔹 XYZListHandler.cs
📌 Ne İşe Yarar?
- Veritabanından listeleme (SELECT) işlemlerini yapar.
- Grid’deki kayıtları çeker.
📌 Çok Katmanlı Mimarideki Yeri:
- Veri Tabanı Katmanı (Database Layer)
SELECT * FROM XYZgibi işlemleri yönetir.
🔹 XYZRetrieveHandler.cs
📌 Ne İşe Yarar?
- Tek bir kaydı veritabanından çeker (ID ile).
- Detay sayfası veya düzenleme işlemi için kullanılır.
📌 Çok Katmanlı Mimarideki Yeri:
- Veri Tabanı Katmanı (Database Layer)
SELECT * FROM XYZ WHERE ID = ?gibi işlemleri yönetir.
🔹 XYZSaveHandler.cs
📌 Ne İşe Yarar?
- Yeni kayıt ekleme (INSERT) ve güncelleme (UPDATE) işlemlerini yönetir.
- İş mantığına uygun kontroller burada yapılabilir.
📌 Çok Katmanlı Mimarideki Yeri:
- Veri Tabanı Katmanı (Database Layer)
INSERT INTO XYZ (...) VALUES (...)veUPDATE XYZ SET ... WHERE ID = ?gibi işlemleri yönetir.