Altbilgi içeriğine atla
Iron Academy Logo
C# Uygulaması
C# Uygulaması

Diğer Kategoriler

C# Uygulama Geliştirme: Takım Formunu Tamamlama (Ders 14)

[[academy-video-youtube({"vid": "RBfY446QN_A", "start_time": "0", "title": "C# Uygulama Baştan Sona Ders 14 - Takım Formu Yaratma Bölüm 3", "creator": "Tim Corey", "length": "51m 15s"})]]

Tim Corey'nin C# From Start to Finish kursundan bu video dersinde, Tim Takım Oluştur formuna geri dönüyor ve son parçayı tamamlıyor: Takım Oluştur düğmesini. Tim, formun çoğunlukla zaten bağlanmış olduğunu açıklar, ancak takım verilerini gerçekten veritabanına kaydeden düğmenin uygulanması gerekir.

C# (C# olarak okunur) modern, nesne yönelimli bir programlama dili olup, Microsoft tarafından 2000 yılında .NET çerçevesi olarak oluşturulmuştur. C#, Windows uygulamaları, web hizmetleri ve daha fazlasını oluşturmak için yaygın olarak kullanılır, bu da onu kurumsal geliştiriciler arasında popüler bir seçim haline getirir.

Bu ders, bir Windows Forms uygulamasının nasıl oluşturulacağı, bir SQL veritabanına nasıl bağlanacağı ve saklı yordamlar kullanılarak CRUD işlemlerinin nasıl uygulanacağı hakkında daha derinlemesine bir bakış sağlar.

Learning C# Fundamentals

C# temellerini öğrenmek, sağlam, ölçeklenebilir ve yüksek performanslı .NET uygulamaları oluşturmayı hedefleyen tüm geliştiriciler için köşe taşıdır. Bir nesneye yönelik dil olarak C#, geliştiricilere masaüstü uygulamalarından, web uygulamalarına, mobil uygulamalara ve hatta oyun geliştirmeye kadar geniş bir çözüm yelpazesi oluşturma gücü verir. Bu çok yönlülük, C#'ı modern yazılım geliştirme alanında en iyi seçeneklerden biri haline getirmekte, geliştiricilere birden fazla platform ve teknolojide keşif ve yenilik yapma imkanı tanımaktadır.

.NET ekosistemi, .NET geliştirmesini hızlandıran kapsamlı bir kütüphane ve araç seti sunar. Visual Studio, .NET uygulamalarının oluşturulması, hata ayıklanması ve dağıtılması için ana entegre geliştirme ortamı (IDE) olarak öne çıkarken, Visual Studio Code, hızlı geliştirme ve temel özelliklere kolay erişim için ideal, hafif, çapraz platform bir kod editörü sağlar. Windows, macOS veya Linux hedefliyor olsanız da, .NET Core çerçevesi çapraz platform desteği sağlar ve uygulamanızın çeşitli cihaz ve ortamlarda sorunsuz çalışmasını sağlar.

Kurumsal yazılımlar ve ölçeklenebilir uygulamalar için, C# ve .NET platformu, yüksek performans ve güvenilirlik sunar. C# ile çalışan geliştiriciler, modern, çapraz platform web uygulamaları oluşturmak için ASP.NET Core'u kullanabilir ve Razor Pages ile daha akıcı bir web geliştirme deneyimi yaşayabilir. .NET MAUI'nin tanıtımı ile birlikte, artık tek bir kod tabanı kullanarak birden fazla platformda çalışan mobil uygulamalar oluşturmak her zamankinden daha kolay, .NET projenizin erişimini daha da genişletmekte.

Tek bir geliştirici, basit kod örneklerinden ve konsol uygulamalarından karmaşık, kurumsal seviyede çözümler yaratmak için C#'ın gücünü kullanabilir. .NET platformunun düzenli güncellemeleri, performans iyileştirmeleri, yeni özellikler ve gelişmiş güvenlik sağlar, böylece uygulamalarınız son teknolojilere ayak uydurabilir. Geniş bir kütüphane ve öğrenim materyalleri başlığına–tutoriallar, örnek projeler ve kod örnekleri dahil–erişim, C#'ı kolayca öğrenip gerçek dünya uygulamalarını hızla inşa etmeyi sağlar.

C# kullanımı sadece hataları azaltmaz, aynı zamanda güçlü tip ve modern programlama özellikleri sayesinde kod kalitesini de artırır. İster web geliştirme, masaüstü uygulamaları oluşturma, ister mobil ve oyun geliştirmeyi keşfetme olsun, C# ve .NET framework, bugünün hızlı tempolu yazılım geliştirme ortamında gereken araçlar, kaynaklar ve performansı sağlar. C#, kullanıcıların ve işletmelerin taleplerine uygun, ölçeklenebilir, yüksek performanslı uygulamalar oluşturmanızı sağlar.

Yazmadan Önce Veritabanı Yapısını Anlamak

Tim, kod yazmadan önce veritabanı tasarımını anlamanın önemini vurgulayarak başlar. Uygulamanın iki ana tablo kullandığını gösterir: Teams ve TeamMembers. Teams tablosu sadece TeamID ve TeamName içerirken, TeamMembers TeamID ve PersonID'yi saklar.

Tim, veri ekleme sıralamasının önemli olduğunu, çünkü uygulamanın ilk önce takımı oluşturması, kimliğini alması ve ardından döndürülen kimliği kullanarak takım üyelerini eklemesi gerektiğini açıklar. Bu yapı, C# veri erişim katmanı tasarımında esastır, uygulamanın tutarlı ve doğru kalmasını sağlar.

Takım Ekleme için SQL Saklı Yordamları Oluşturma

Veriyi doğru bir şekilde veritabanına eklemek için Tim, SQL Server geliştirme ve veritabanı programlamasında ortak bir en iyi uygulama olan iki SQL saklı yordamı oluşturur.

SP_Teams_Insert

Tim, SCOPE_IDENTITY() kullanarak takım adını kabul eden ve yeni takım kimliğini çıktı olarak veren bir saklı yordam oluşturur. Bu yaklaşım, ilişkisel bütünlüğü korumak için SQL Server saklı yordamlarında tipiktir.

INSERT INTO dbo.Teams (TakımAdı)
VALUES (@TakımAdı)

SELECT @Id = SCOPE_IDENTITY()

SP_TeamMembers_Insert

Ardından, Tim takım üyelerini eklemek için bir saklı yordam oluşturur. TeamID ve PersonID'yi kabul eder ve yeni kayıt kimliğini çıktı olarak verir.

INSERT INTO dbo.TeamMembers (TakımID, KişiID)
VALUES (@TakımID, @KişiID)

SELECT @Id = SCOPE_IDENTITY()

Tim, küçük hataların büyük sorunlara neden olabileceği için SQL kodunu kopyalamaktan ve değiştirmekten kaçınılması gerektiğini önemle belirtir; bu, veri tabanı geliştiricileri için kritik bir ipucudur.

CreateTeam Bir Yöntem mi Yoksa İki mi Olmalı?

Tim, ardından bir tasarım kararına değinir: bir takımı oluşturma ve takım üyelerini eklemeyi tek bir yöntem mi, yoksa iki ayrı yöntem mi ele almalı? Tek Sorumluluk İlkesi'ne (SRP) başvurur, ancak bu sürecin bir işlem olduğunu, bir takım oluşturmayı ve üyeleri atamayı temsil ettiğini savunur.

Tim, onları birleştirmenin bir senaryo önleyeceğini, bir takımın oluşturulduğu, ancak üyelerinin eklenmediği senaryoları—eksik veriyle sonuçlanan bir senaryo—önleyeceğini sonuçlandırır. Bu tasarım kararı, özellikle C# kurumsal uygulamalarında çalışırken yazılım mimarisinde temeldir. C#, güvenliği, ölçeklenebilirliği ve sürdürülebilirliği nedeniyle kurumsal yazılım geliştirmede yaygın olarak kullanılmaktadır.

CreateTeam'i Veri Bağlayıcı Arayüzüne Uygulamak

Tim, veri bağlayıcı arayüzüne yeni bir yöntem ekler:

TeamModel CreateTeam(TeamModel model);

SQL bağlayıcısının ve Metin bağlayıcısının bu yöntemi uyguladığından emin olur, C#'te arayüzlerin doğru kullanımı ve temiz mimariyi gösterir. C# uygulama geliştirmede arayüzlerin ve temiz mimarinin kullanılması, geliştirilmiş kod bakımı, daha kolay test etme ve yeni gereksinimlere uyum sağlama esnekliği sağlar.

SQL Bağlayıcı Uygulaması: Takım ve Üyeleri Ekleme

Tim, mevcut desenleri kopyalayarak SQL mantığını oluşturur. Şunları gerçekleştirir:

  1. Takım adını gir ve TeamID'yi al.

  2. Her üyeyi dolaşıp TeamMembers'a ekle.

KişiModel'in zaten PersonID içerdiğini, dolayısıyla takım üyeleri eklemenin basit olduğunu belirtir. Bu, veri bağlama ve ilişkisel veritabanı işlemlerinin pratik bir örneğidir.

Windows Forms'ta Takım Oluştur Butonu Bağlama

Form kodunda, Tim bir TeamModel nesnesi oluşturur ve özelliklerini ayarlar:

TakımModeli t = new TakımModeli();
t.TakımAdı = takımAdıDeğeri.Text;
t.TakımÜyeleri = seçilenTakımÜyeleri;

t = GlobalConfig.Connection.CreateTeam(t);

Bu, Windows Forms olay işleme ve kullanıcı arayüzü (UI) verilerinin veri erişim katmanına nasıl aktarılacağını gösterir, sorunsuz bir kullanıcı deneyimi sağlar.

Tim, takım oluşturulduktan sonra formun güvenle kapatılabileceğini, çünkü takımın başarıyla kaydedildiğini belirtir.

SQL Veritabanı Ekleme Testi

Tim, bir takım oluşturup SQL Server'daki kayıtları doğrulayarak formu test eder. Takımın Teams'e doğru şekilde kaydedildiğini ve üyelerin TeamMembers'ta saklandığını doğrular. Bu, uygulama testinde ve CRUD işlemlerini doğrulamada önemli bir adımdır.

Text Dosya Depolamada CreateTeam Uygulaması (Metin Bağlayıcı)

Tim, metin dosya depolama yöntemine geçer ve zorluğu açıklar: takım modeli bir PersonModel listesi içerir ve bu, CSV formatında kaydedilmelidir.

Kişi ID'lerinden oluşan, boru çizgisi ile sınırlı bir liste içeren bir format oluşturur:

1, Takım Adı, 1|3|5

Bu, uygulamanın küçük uygulamalarda dosya tabanlı depolama için düz metin dosyaları kullanarak karmaşık veri yapıları saklamasına olanak tanır.

Text Dosya Verilerini Takım Nesnelerine Dönüştürme

Tim, CSV dosyasını okuyan ve TeamModel nesnelerini yeniden oluşturan ConvertToTeamModels yöntemini oluşturur:

  1. Her satırı virgülle böl

  2. Takım ID'si ve adını çıkar

  3. Son sütunu boruyla böl (|)

  4. Her kişi ID'sini kişi listesinde ara

  5. Kişi nesnelerini takım üyelerine ekle

Eksik bir kişi ID'si varsa hata vermeyi tercih eder, veri tutarlılığını sağlamayı seçer. Bu, sağlam bir C# uygulama geliştirmede önemli bir uygulamadır.

Üyeleri Boru İle Sınırlanmış Hale Getirerek Takımları Dosyaya Geri Kaydetme

Tim, takım üyelerini boru ile sınırlanmış bir dizeye dönüştürmek için ConvertPeopleListToString adlı bir yardımcı yöntem oluşturur. Çıktının sonundaki boruyu çıkarmanın gerekliliğini açıklar:

çıktı = çıktı.Substring(0, çıktı.Length - 1);

Ayrıca, hataları önlemek için boş listeler için bir güvenlik kontrolü ekler, savunmacı programlamanın pratik bir örneğidir.

Son Test ve Tamamlama

Tim, metin tabanlı depolamayı bir takım oluşturarak ve CSV dosyasının doğru şekilde oluşturulduğunu doğrulayarak test eder. Create Team formunun tamamlandığını ve izleyicileri görevleri daha küçük adımlara bölme düzenini sürdürmeye teşvik eder.

Conclusion: Building a Complete C# Application

Tim, videosunu kapatır ve karmaşık Windows Forms özelliklerinin bile işi daha küçük parçalara bölerek ve tutarlı desenlere uyarak tamamlanabileceğini vurgular. Bir sonraki büyük adımın Create Tournament formu olduğunu ima eder, uygulamanın tamamlanmaya yakın olduğunu belirtir.

Bu ders, Tim Corey'nin öğretim tarzıyla açıklanan, C# uygulama geliştirmedeki anahtar kavramları ortaya koymaktadır: Windows Forms UI, SQL saklı yordamları, veri erişim katmanları, CRUD işlemleri ve dosya tabanlı depolama.

Geliştiriciler genellikle web uygulamaları, backend API'ler, masaüstü yazılımı, mobil uygulamalar ve oyun geliştirme dahil olmak üzere geniş bir yelpazede uygulamalar oluşturmak için C# kullanır. C#'in bu alanlar arasında kullanılabilirliği, çok yönlülüğünü ve geniş uygulama alanını gösterir.

C# büyük bir küresel ekosisteme sahiptir ve yeni özellikler ve performans iyileştirmeleriyle gelişmeye devam eder. Çeşitli endüstrilerde güvenilir, modern ve çok talep gören bir dil olarak kalmaya devam eder.

Hero Worlddot related to C# Uygulama Geliştirme: Takım Formunu Tamamlama (Ders 14)
Hero Affiliate related to C# Uygulama Geliştirme: Takım Formunu Tamamlama (Ders 14)

Sevdiğiniz Şeyleri Paylaşarak Daha Fazla Kazanın

.NET, C#, Java, Python veya Node.js ile çalışan geliştiriciler için içerik oluşturuyor musunuz? Uzmanlığınızı ek gelire dönüştürün!

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara