Smart Enums 01 Nisan 2026 Burak-Selim-Senyurt C#, Rust Yazılım geliştirme galaksisinin en zorlu yolculuklarından birisi sanıyorum ki Domain Driven Design(DDD) rotasında ilerlemek. Büyük çaplı kurumsal projelerde hangi mimari ile çalışacağımıza karar vermek bir yana dursun domain sınırlarını belirlemek, model nesneleri kurgulamak, ortak jargonu çıkarmak ve bu jargonu kod içerisinde nasıl temsil edeceğimize karar vermek gibi pek çok zorluğu beraberinde getiren bir yolculuk. Gerçekten farklı yetkinlikler gerektiğine inandığım bu yaklaşımda gün geçmiyor ki yeni bir konuyu tartışalım. İşte henüz gerçekleştirdiğimiz bir tartışma: [Daha fazla]
Tek Fotoluk İpucu 126 - XML Tabanlı Metinsel İçerikleri Nesneleştirme 04 Ocak 2016 Burak-Selim-Senyurt Tek Fotoluk Ipucu Malumunuz nesne yönelimli(Object Oriented) dünyanın en önemli unsurlarından birisi de varlıklar(Entity). Uygulamaların çalıştığı alanlarda(Domains) bu varlıklar dolaşmakta. Birer sınıf olarak tasarlanan bu varklıklar çalışma zamanlarında örneklenmekte ve belirli içerikleri taşımakta. Varlığı niteleyen verinin kaynağı çeşitli enstrümanlar olabiliyor. Veritabanı üzerindeki bir tablo, fiziki bir dosya, bir servis uç noktası, başka bir donanım, bir ara motorunun ürettiği çıktı vb [Daha fazla]
Fluent Interface Prensibi ile Daha Okunabilir Kod Geliştirmek -2nci Yarı 06 Ocak 2014 Burak-Selim-Senyurt C# Bir önceki görsel dersimizde Fluent Interface prensibini nasıl kullanabileceğimizi görmüştük. Bu sefer Generic tip kullanan bir versiyonunu geliştireceğiz. İşin içerisine Generic mimari Reflection kavramı ile Expression<> ve Func gibi tipleri de katacağız. Amacımız sadece belirli bir tip için değil bazı kıstaslara uyan her hangibir T tipi için Fluent Interface prensiplerini uygulatabilmek. Buyrun izleyelim. [Daha fazla]
Fluent Interface Prensibi ile Daha Okunabilir Kod Geliştirmek - 1nci Yarı 23 Aralık 2013 Burak-Selim-Senyurt .Net Temelleri, C#, Tasarım Kalıpları(Design Patterns), Tasarım Prensipleri(Design Principles) Keşfedilmesi, anlaşılması ve okunması kolay kod geliştirmek, özellikle dışarıya açık arayüzü bulunan API’ ler için oldukça önemlidir. Bir Domain Specific Language’ in olmassa olmazı kodun kolayca keşfedilebilirliğidir. Ruby ve Scala gibi diller built-in olarak bu kolaylığı sunarlar. LINQ(Language INtegrated Query) ifadeleri, zincir şeklinde bir birlerine bağlanabilen Extension metodlar ile aynı esnekliği vermektedir. Test süreçlerinde kullanılan pek çok Mock nesne API’si benzer kabiliyetlere sahiptir. Tüm bunlar aynı prensipten yararlanır. Fluent Interface… Bu görsel dersimizde Martin Fowler tarafından yıllar önce ortaya konan yaklaşımın uygulanışını incelemeye çalışıyoruz. [Daha fazla]