Basit yazılmıştır tasarım deseni yoktur, RAM’deki listeden veri filtreleme işlemi için kullanılabilir. Buna bir de Prototype Design Pattern ile düzenleyelim. nullable değerleri MVC için ekledim. Birden fazla arama değişkeninin girilebildiği yerlerde tek değerin girilmesi durumunda boş filtreler null döner.
Encapsulation
Kısayol: Ctrl + r,e Projelerde sınıflar altında güvenlik ve düzen amaçlı değişkenlere Encapsulation işlemi uygulanır. Bunun için; tanımlamalarımız yerine sınıfımız içinde private olarak tanımlamamız gerekir. Ardından buna erişebilecek olan bir değişken daha hazırlanır. get (accessor): bu değişkenin içeriğini okur, set (mutator): bu değişkene gönderilen veriyi private olana yönlendirir. Temiz kod olması için private tanımladığınız değişken […]
Dizinin sonundaki eleman
Sondan kaçıncı elemanı istiyorsanız başına “^” koyarak veriyi çağırabilirsiniz. Sondan saymaya başlarken 1’den başlamayı unutmayın.
Lambda Expression
Python’daki lambda expression’a benzer bir yazım şekli olan, kullanım alanı Python’a göre daha kısıtlı olan kullanışlı ve hızlı çalışan bir yapıdır. Listelerdeki verileri sıralama, filtreleme, veri ile işlem yapma gibi bir çok özellikleri bulunmaktadır. c# için iki farklı yazılışı vardır. Expression Lambda: Statement Lambda: Bu yapıyı nesneler üzerinde de kolaylıkla kullanabiliriz.
List .ForEach
Bu kullanım şekline Lambda Expression deniyor, eğer Python biliyorsanız oradaki lambda fonksiyonuna benzer bir yazımı vardır ama çalışma şekli Pythonda biraz daha kapsamlı. Elinizdeki listenin içindekileri 4 satır yerine tek satırda (3. satırdaki gibi) yazdırmak isterseniz listenizin sonuna .ForEach() methodunu ekleyebilirsiniz (hatta normal foreach’den yaklaşık 1.7 kat daha hızlı çalışır (not olarak söyleyeyim üşenmez de […]
ProtoType Design Pattern
Creational Design Patterns > ProtoType Design Pattern Hap bilgidir. İşletmeler’den çıkan ürün/ hizmet sonrasında kesilen faturalar gibi düşünebilirsiniz. Faturalarda tarih, satıcı, alıcı, ürün, KDV, toplam, fatura seri no bilgileri yer alır. Faturayı hazırlayan kişi de bir yaprak koparıp şablondaki boşlukları doldurur. “ProtoType Design Pattern” böyle çalışıyor. Örnekte inceleyelim. Teorik bilgi: Hangi durumlarda kullanılır: Bir şablon […]
Singleton Design Pattern
Creational Design Patterns > Singleton Design Pattern Bu içeriğin artık modasının geçtiğini yani artık kullanılmadığının altını çizeyim. (Microsoft öyle söylüyor) Sıklıkla kullandığınız sabit içerikli methodlarımızı tekrar tekrar yazarak RAM işgal edecek şekilde çalıştırmak yerine tek seferde yazarak ve tek seferde çalıştırarak hem RAM den hem de zamandan tasarruf etmemizi sağlıyor. Singleton nesneler ilk çağırıldıklarında bir […]
Polymorphism
Visual Studio içinde de sıklıkla kullandığımız bir özellik olan “Polymorphism” ‘i tanıtayım. Türkçe anlamı olarak “Çok Biçimlilik” diyebiliriz. Visual Stüdüo içinde hazır bir methodu yazarken otomatik tamamlamada birden fazla giriş alternatifi olduğunu görürüz. Örneği Random üzerinden vereyim. Rasgele bir sayı oluşturacağım, Random rnd = new Random(); tanımlamamı yaptım ve sayı oluşturma kısmına geçtim. Kodu yazarken […]
Session (Login & Logout)
Kullanıcı girişi, buna bağlı olarak kullanıcı giriş formunu kapatarak “kullanıcı sepeti” gibi özellikleri açan özellik “Session” sayesinde olur. Türkçe karşılığı “oturum” ‘dur. Sunucu tarafında saklanır. “Controller” tarafında işlenir. Kullanıcı giriş yapmadan sayfayı çalıştırdığında oturum kodu verilir ve tarayıcı kapanana kadar ya da belirlenen süre sonunda (varsayılan 20 dk.) otomatik olarak geçerliliğini yitirir. yukarıdaki kod satırlarından […]
Örnek Proje (Başlangıç seviyesi): Personel yönetim sistemi
Dosya ve bağlantılarGitHub: https://github.com/buyukculhaci/GoldenPersonelYonetimi-basic-1 Template: https://www.creative-tim.com/product/material-dashboard c# ‘ta işletmeler için personel yönetim sistemi hazırlayacağım. Basit işlevleriyle veritabanından, sorgulanan personelin hangi birimede çalıştığı, maaşı, yaşı gibi bilgilerini çekeceğim. Öncelikle kağıt üstünde hangi personel bilgilerinin dahil olacağını çıkarıyorum. Bunlar;İsim, soyisim, doğum tarihi, başlangıç maaşı, cinsiyet, evlilik durumu gibi genel bilgiler. Ardından bu bilgileri tutacak bir veritabanı hazırlıyorum. […]