1. Anasayfa
  2. C#

C# Generic Yapılar: Generic’de Neyin Nesi?


4

Büyük üstadlar üstad olana kadar çok satır kod yazdılar. Yazdıkça gördüler ki aynı kod bloğunu her ihtiyacı oldukları yerlerde ufak tefek modifikasyonlardan geçirip tekrar tekrar kullanıyorlar. Ayrıca casting, boxing-unboxing operasyonları yapmaktan uygulamanın response zamanı Harem-Sirkeci feribotu seferiyle aynı süreye denk geliyor. Dediler ki bu iş böyle olmaz, gelin beyler kafa kafaya verip adımızı tarihe yazalım. Yıl 1999, dün gibi hatırlıyorum :)

Uzun süren toplantılar, beyin fırtınaları, araştırmalar, küfür kıyamet derken nihayet 2005 yılında .NET Framework 2.0 versiyonu ile Generic Mimarisi hayatımıza girmiş oldu.

“Yukarıdaki cümleye katılmıyorum, genericler hayatıma girmedi, asla da giremeyecek” diyorsanız;

Yanılıyorsunuz :) Tabi zorla güzellik olmaz. Aşağıda okuyacağınız üç paragraf generic yapılarıyla ilgilenip, ilgilenmeyeceğinize dair kendinizi kandırmadan cevap verebilmenizi sağlayacak.


Resim-1

Şimdi kupa bardağımıza iyi bakın arkadaşlar, şaşı bak şaşır yapıyoruz :) Hemen bardak sınıfını zihninizde canlandırın. Yükseklik, çap, renk, ağırlık propertylerini tanımladınız bile… Bir de buna Doldur() fonksiyonu ekledik mi fevkalenin fevkinde olacak. Buraya kadar sıkıntı yok, peki Doldur fonksiyona parametre olarak ne verip, bardağı neyle doldururdunuz?

Verilecek cevap basit: Bardağı sıvı olan herhangi bir şeyle doldurabiliriz. Çay, kahve, ayran, kola, cappuccino, oralet, bira, su vs…. Zaten sıvı olmayan şeylerle doldurmak isteseydim kova sınıfını tasarladım öyle değil mi?

Normal Şartlar Altında bardağımızı şöyle dolduruyoruz:

  1. Önceden kısık ateşte hazırladığımız bardak sınıfından bir örnek nesne (instıns) çıkartılır.
  2. Örnek nesnenin Doldur fonksiyonu çağırılarak, bardak ne ile dolacaksa ilgili parametre verilir.


Resim-2

Bakınız Doldur fonksiyonum 16 çeşit parametre alacak şekilde tasarlanmış. Önceden neyi tanımladıysam onunla bardağı doldurabiliyorum. Çok iyi, hatta mühendislik harikası… Yalnız şöyle bir sıkıntı var:

16 çeşit yerine 124 çeşit parametre tipim olsaydı bu tiplere özel kod yapılarını parmaklarımın ucundaki deriyi eritip kemiğimi dışarını fırlatana kadar (iğrencim kabul) klavyeyle mi boğuşacaktım yoksa burayı tıklayarak irfan boyutunda huzura mı erecektim :)

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 5
    be_enmedim
    Beğenmedim
  • 1
    _ok_iyi
    Çok iyi
  • 1
    sevdim_
    Sevdim!
  • 1
    bilemedim_
    Bilemedim!
  • 2
    olmad_
    Olmadı!
  • 2
    k_zd_m_
    Kızdım!

1982 İstanbul doğumluyum. Programcılık hayatıma 1993 yılında yeşil monitörlü Amstrad makineye sağdan soldan bulduğum Basic kodlarını yazmaya çalışırken başlamış oldum. Halkla İlişkiler bölümü ön lisans, İşletme bölümü lisans ve Bilgisayar Mühendisliği bölümü yüksek lisanslarına sahibim. Eğitim hayatım boyunca mesleğimle ilgili çok sayıda sertifika edindim ve birçok kurumsal şirkette yazılım geliştirme uzmanı olarak çalıştım. Şu an Bilge Adam bünyesinde kıdemli yazılım geliştirme uzmanı olarak çalışıyorum. Motorsiklet tutkunuyum, snowboardsız bir hayat düşünemiyorum.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumlar (4)

  1. 27/08/2015

    Merhabalar;

    Makalenizin sonuna kadar okudum fakat burayı tıklayın dedğiniz yerde “Maalesef, aradığınız sayfa bu blogda yok.” mesajı çıkıyor. Çok iyi örnekler vererek açıklamışsınız fakat çeşke devamını görebilsek..

  2. 15/07/2016

    Sayfa sonuna verdiğiniz link uçmuş, irfan boyutuna erişemedik :)

  3. Link kırılmış :D

  4. Anlatım kesinlikle çok iyi ama keşke link uçmasaydı :)
    İrfan boyutu biraz hayal oldu gibi

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir