Uygulama Mantık Planlaması — Tim Corey’nin Yaklaşımına Derinlemesine Bakış
[[academy-video-youtube({"vid": "6KY6uv7avas", "start_time": "0", "title": "C# Uygulama Baştan Sona Ders 05 - Mantık Planlaması", "creator": "Tim Corey", "length": "17dk 14s"})]]
C# Uygulama Baştan Sona dizisinde Tim Corey, bir uygulama geliştirmenin sadece kod yazmakla ilgili olmadığını açıklar. Asıl zorluk, uygulamanın farklı parçalarının nasıl etkileşimde bulunacağı, iletişim kuracağı ve ekranlar ve bileşenler arasında veri taşıyacağı konusundaki mantığı planlamaktır. Mantık Planlaması üzerine Ders 05'te Tim, bu aşamanın uygulamanın bir bütün olarak nasıl davranacağını belirleme aşaması olduğunu vurgulayarak mantık planlamasına odaklanır.
Şimdiye kadar kursun kapsam gerekliliklerini belirleme, genel yapıyı oluşturma, veri arka planını tasarlama ve ön yüzünü oluşturma konularını zaten kapladığını hatırlatır. Tim, bir sonraki adımın her şeyi mantık ile bağlamak olduğunu belirtir.
Tim, bu dersin henüz koda dalmayacağını netleştirir. Bunun yerine, küresel fikirleri, büyük resmi ve uygulamanın arkasındaki genel mantığı kapsamak istediğini belirtir. Her formun ve düğmenin nasıl davranması gerektiğini kağıt üzerine yazarak ve çizerek not almanızı önerir, bu da işletme süreçlerinin profesyonel geliştirme ortamlarında nasıl haritalandığına benzer. Bu planlama, uygulama mantığının kodlamaya geçmeden önce netleşmesine yardımcı olur.
Mantık Planlamasının Önemi
Tim, formları bağlama işleminin uygulama mantığının büyük kısmı olduğunu belirterek başlar. Formlar doğru bağlandığında, kalan görevler genellikle daha küçüktür. Mantık planlaması sürecinin, uygulamanın desteklemesi gereken işlevselliği, süreçleri ve kontrolleri anlamanızı sağladığını açıklar.
Tim, eğer bu işlemi kağıt üzerinde yapıyor olsaydı, her bileşenin ne yapması gerektiğini yazacağını ve arasındaki okları çizeceğini söyler. Sınıf ekranda çalışıyor olsa bile, her formu dolaşıp her parçasının arkasındaki mantığı açıklayacağını planlıyor.
Turnuva Oluştur Formu Mantığı
Tim, daha basit formlardan biri olan Turnuva Oluşturma formuyla başlar. Her düğmenin mantığını ve bunların nasıl birlikte çalışması gerektiğini açıklar.
Yeni Takım Oluştur Düğmesi
Tim, Yeni Takım Oluştur düğmesinin Takım Oluşturma Formunu açtığını açıklar. Bir takım oluşturulduktan sonra yeni form kapanır ve oluşturulan takım verileri Turnuva Oluşturma formuna geri döner. Takım, takım/oyuncular liste kutusunda görünmelidir ve bu, Takım Oluşturma formundan çağrılabilecek bir yöntem oluşturarak yapılır.
Tim ayrıca bu iletişim için arayüz kullanımı kavramını tanıtır ve arayüzlerin formların doğrudan birbirlerini bilmeden etkileşmesine izin verdiğini açıklar. Bu, iş mantığı ve yazılım mimarisinin kaliteyi, bütünlüğü ve bileşenler arası temiz etkileşimi nasıl sürdürdüğüne dair klasik bir örnektir.
Takım Ekle Düğmesi
Tim, Takım Ekle düğmesinin basit olduğunu açıklar. Açılır menüde hangi öğenin seçildiğini kontrol ettiğini, o takımı turnuva listesine eklediğini, açılır menüden kaldırdığını ve ardından her iki listeyi de yenilediğini açıklar. Bu mantık, kullanıcının seçiminin kullanıcı arayüzünde ve temel verilerde doğru şekilde yansıtılmasını sağlar.
Ödül Oluştur Düğmesi
Tim, Ödül Oluştur düğmesinin, Yeni Ekip Oluştur düğmesine benzer davrandığını açıklıyor. Ödül Oluştur formunu açar, ödülün oluşturulmasını bekler ve ardından bu ödülü ödüller listesine ekler. Mantık aynıdır, ancak sınıf ve veri türü farklıdır.
Seçili Olanı Silme Düğmeleri
Tim, silme düğmelerinin seçili öğeyi listeden çıkardığını açıklıyor. Ekipler söz konusu olduğunda, mantık aynı zamanda silinen ekibi açılır listeye geri döndürerek kullanıcının daha sonra tekrar ekleyebilmesini sağlar. Bu tür gerçek zamanlı güncellemeler kullanıcı deneyimini geliştirir ve UI boyunca doğru verilerin korunmasına yardımcı olur.
Turnuva Oluştur Düğmesi
Tim, bu düğmenin, en fazla mantığı tetiklediği için büyük düğme olduğunu açıklıyor. Tıkladığında, tüm bilgileri doğrulaması gerekir:
Turnuva adı boş olmamalıdır
Katılım ücreti negatif olmamalıdır
- En az iki takım olmalıdır
Doğrulama işleminden sonra, Tim, bir sonraki büyük adımı açıklıyor: program oluşturma. Turnuva programı mantığı, turnuvada kaç takım olması gerektiğini ve kaç bay gerekeceğini belirler. Tim, bu hesaplama için formülü yazdığı bir yardımcı belgeye atıfta bulunuyor. Örneğin, eğer turnuvada 10 takım var ise, turnuva 16 takımla başlamalı, yani ilk turda 6 baye ihtiyaç var.
Tim, ayrıca mantığın ilk turdaki sıralamayı rastgele yapması gerektiğini belirtiyor. Bütün bunlar tamamlandığında, form tamamlanır ve uygulama ilerleyebilir.
Ekip Oluşturma Form Mantığı
Tim Ekip Oluşturma formuna geçer ve düğmelerin arkasındaki mantığı açıklar.
Üye Ekleme Düğmesi
Tim bu düğmenin, açılır listeden mevcut bir üyenin ekip listesine eklenmesini sağladığını söylüyor. Ardından o üyeyi açılır listeden kaldırır ve her iki listeyi de yeniler. Tim, bunun Ekip Ekle düğmesiyle benzer bir mantık olduğunu vurgular.
Üye Oluştur Düğmesi
Tim, Üye Oluştur düğmesinin dört giriş alanını alacağını, yeni bir ekip üyesi yaratacağını, onları listeye ekleyeceğini ve alanları temizleyeceğini açıklar. Bu, uygulama mantığında kullanıcı girdisinin işlenmesi ve kullanıcı arayüzünde yansıtılması gereken yaygın görevlerin tipik bir örneğidir.
Ekip Oluştur Düğmesi
Tim, Ekip Oluştur düğmesinin, ekibi doğrulaması ve ardından oluşturulan ekibi arayana geri göndermesi gerektiğini söylüyor. Formda bir oyuncuyu silme düğmesi eksik olduğunu, diğer formlarla eşleşmesi ve tutarlı bir kullanıcı deneyimi sağlamak için eklenmesi gerektiğini belirtiyor. Tim, tutarlı kullanıcı arayüzü davranışının, kullanıcı aşinalığı ve rahatlığı için önemli olduğunu açıklar.
Ödül Oluşturma Form Mantığı
Tim, Ödül Oluşturma formunun daha basit olduğunu tanımlar. Dört metin kutusu ve bir düğmesi var.
Ödül Oluştur düğmesine tıklandığında, şunları yapar:
Ödül bilgilerini doğrular
Verileri çağrılan forma geri gönderir
- Formu kapatır
Tim, bu formun, daha az bileşenle Ekip Oluşturla temelde aynı olduğunu açıklar.
Turnuva Paneli Mantığı
Tim, Turnuva Paneli formunu basit ama önemli olarak tanımlar.
Mevcut turnuvaları listeler. Turnuvayı Yükle düğmesi, seçili turnuva için Turnuva Görüntüleyiciyi açar ve Turnuva Oluştur düğmesi Turnuva Oluşturma formunu açar.
Tim bir turnuva oluşturulduğunda, hemen yükleyebilmesi için kullanıcı tarafından açılır listeye eklenmesi gerektiğini belirtir. Bu mantık, bir uygulama içerisinde veri erişimi ve gerçek zamanlı güncellemenin temel bir örneğidir.
Turnuva Görüntüleyici Mantığı
Tim, Turnuva Görüntüleyicinin, en çok mantığı içerdiğinden en karmaşık form olarak tanımlar.
Turnuva Adı
Tim, form yüklendiğinde turnuva adının güncellendiğini açıklar. Form, bir turnuva nesnesini alır ve adı görüntüler.
Turlar Düşen Listesi
Tim bunun veritabanından yüklenmediğini, hesaplandığını açıklar. Turlar listesini inceleyerek kaç tane var olduğunu belirler. Eğer bir turnuvada dört tur varsa, açılır liste 1. Turdan 4. Tura kadar göstermelidir.
Oynanmamışlar Yalnızca Onay Kutusu
Tim, onay kutusu işaretliyse (varsayılan), eşleşme list kutusunun yalnızca oynanmamış oyunları göstermek üzere filtreleneceğini söylüyor. İşaretli değilse, tüm eşleşmeler görünür.
Eşleşme Skoru Bölümü
Tim, bir eşleşme seçildiğinde sağ tarafa takım adları ve skorlarla birlikte güncellediğini açıklar. Skor düğmesi, kullanıcıya skorları güncelleyip eşleşmeyi tamamlamaya olanak tanır.
Sonraki Turu Tetikleme
Tim, bir turdaki son oynanmamış eşleşme skoru yapıldığında, bir sonraki turun başlanması gerektiğini açıklar. Eğer bu son şampiyona maçıysa, turnuva biter ve ödüller atanır. Tim ayrıca, oyuncuların oynaması planlandığında ve sonuçlar mevcut olduğunda sistemin e-posta gönderdiğini de belirtiyor.
Skor Düzenleme Kuralları
Tim, skorların ayarlandıktan sonra güncellenip güncellenemeyeceğini sorar. Bunun mümkün olduğunu, ancak yalnızca mevcut turun hala aktif olduğu süre boyunca olabileceğini sonucuna varır. Eğer skorlar bir sonraki tur başladıktan sonra değiştirilirse, büyük sorunlara yol açabilir çünkü takımlar yanlış rakiplerle oynayabilir.
Bu nedenle Tim, Skor düğmesinin skoru yalnızca mevcut turda değiştirebilecek şekilde mantık içermesi gerektiğini söylüyor.
Sırada Ne Var?
Tim, bazı mantığın hala planlanması gerektiğini kabul eder, örneğin:
Veri erişimi ve depolama
Farklı veri kaynaklarını ele alma
E-posta mantığı
- Eşleşmeleri tetikleme
Bunların kod içinde daha iyi planlandığını söylüyor, bu yüzden ekip kodlamaya başladığında ele alacak. Bu, yazılım geliştirmede iş bütünlüğünün bir örneğidir — fazla plan yapmak yerine yapılandırma ve adapte etme.
Sonuç: Kodlamadan Önce Planlama
Tim videosunu planlama aşamasının tamamlandığını belirterek bitirir:
Veri tasarımı tamamlandı
Kullanıcı arayüzü düzeni çizildi
- Her formun arkasındaki mantık planlandı
Bir sonraki adım bunu koda çevirmektir. Bir sonraki derste, Tim sınıf kütüphanesini oluşturacak ve veri tasarımını gerçek uygulamaya entegre etmeye başlayacak.

