Yazılım Mimarileri ve Tasarım Desenleri Üzerine Blog


Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...
2

C# 11 İle Gelen Generic Attribute Yapılanması

Merhaba, Bu içeriğimizde C# programlama dilinin 11. versiyonunda gelerek büyük bir eksikliği giderecek olan ve mimarisel çalışmalarda tür/type ile ilgili manevralarda kodumuza/yapımıza oldukça esneklik kazandıracak olan Generic Attribute özelliğini inceliyor olacağız. Esasında C# 11...

0

C# 11 – List and Slice Pattern

Merhaba, Gün geçmiyor ki, C# yeteneklerine yeni bir nitelik kazandırmasın 🙂 Bu içeriğimizde, C# 11 ile gelen özellikler arasında nacizane olarak oldukça kullanışlı gördüğüm List Pattern üzerine odaklanacak ve gelen bu yeniliğin tüm özelliklerini...

0

C# 10 – Record Structs

Merhaba, Bu içeriğimizde C# 9.0 ile hayatımıza giren record yapısının C# 10 ile gelen record structs isimli yeni özelliği üzerine incelemede bulunuyor olacağız. Her şeyden önce record yapısının ne olduğunu hatırlatan girizgâhla başlayalım. Record’lar;...

Netflix Eureka Server İle Service Discovery 0

Netflix Eureka Server İle Service Discovery

Merhaba, Microservice mimarisi ile geliştirilen projelerde birbirlerinden bağımsız onlarca servis arasında iletişim esastır. Haliyle bu iletişim sürecini mümkün mertebe basit ve etkili bir şekilde dizayn etmemiz gerekmektedir. Genellikle servisler arası iletişim kompleksliğine, cephe görevi...

Query Object Design Pattern(Sorgu Nesnesi Tasarım Deseni) 3

Query Object Design Pattern(Sorgu Nesnesi Tasarım Deseni)

Merhaba, Günümüzde birçok uygulamada veritabanı işlemleri için yaygın olarak ORM(Object Relational Mapping) yaklaşımı tercih ediliyor olsa da birçok küçük ve orta ölçekli şirket tarafından ve hatta geleneksel olarak radikal değişiklikleri kaldıramayacak kadar köklü framework’lere...

4

Entity Framework Core – Kalıtımsal Durumlardaki Table Per Type(TPT) ve Table Per Hierarchy(TPH) Davranış Modellemeleri

Merhaba, Bu içeriğimizde EF Core’un kalıtımsal durumlardaki davranışlarından olan Table Per Type(TPT) ve Table Per Hierarchy(TPH) modellemelerini inceliyor olacağız. Table Per Type(TPT) Nedir? Veritabanı açısından bir tablodaki belirli kolonların bağımsız olarak birebir ilişki ile...

Twin Design Pattern(İkiz Tasarım Deseni) 0

Twin Design Pattern(İkiz Tasarım Deseni)

Merhaba, Bu içeriğimizde çoklu kalıtımı desteklemeyen C#, Java vs. gibi dillerde çoklu kalıtımı simüle etmemizi sağlayan Twin Design Pattern(İkiz Tasarım Deseni)’ı inceliyor olacağız. Twin Pattern, yukarıdaki giriş cümlesinde de bahsedildiği üzere çoklu kalıtımı simüle...

gencayyildiz.com 10 yaşında 13

gencayyildiz.com 10 Yaşında

hayat yolumda tek bıraktığım izim, öğrenirken not defterim, dertlenirken şiir defterim, yalnızken içimi döktüğüm, mutluyken ödün verdiğim, yeri gelir küfrettiğim, yeri gelir ilanı aşk ettiğim, yedi iklimi yaşarken şahidim, geride kalmışken tesellim, zaferde gururum,...

2

Asp.NET Core – Constructor Injection Hell Durumuna Karşılık Alternatif Çözümler

Merhaba, Asp.NET Core uygulamalarında, sınıfların instance’larını Inversion of Control prensibi gereği yönetebilmek için IoC Container kullanılmaktadır. Bu container sayesinde sınıf nesnelerinin oluşturulması, silinmesi ve kullanım ömrü gibi yapılandırmalar sağlanarak bu sınıflara olan bağımlılık büyük...

1

Entity Framework Core – Value Converters

Merhaba, .NET ile geliştirilen uygulamalarda olmazsa olmaz diyebileceğimiz ORM(Object Relational Mapping) aracımız olan Entity Framework Core, uygulamalarımızı işlevsel açıdan her ne kadar veritabanlarından izole bir vaziyete getiriyor olsa da bir yandan da verisel açıdan...

1

Angular – NgRx Kütüphanesi İle State Management

Merhaba, UI tabanlı geliştirilen Single Page Application(SPA) uygulamalarında ziyaretçilere masaüstü yazılımlarına yakın bir dinamizm ile eşlik edilirken, bu avantajın bir yandan da dezavantajı olabilecek olan sayfada tutarsız verilerin olması durumlarıyla sık sık karşılaşılabilmektedir. Bu...

0

C# 10 – Global Using Directive

Merhaba, Son zamanlarda .NET 6 ve C# 10 ile gelen yeniliklerde, kodun sadeliğine ve teknik açıdan doğrudan doğruya işlevsel amacını gerçekleştirmeye odaklanıldığı dikkatinizi çekmiştir! Buna en güzel örnek, Asp.NET Core 6’da gelen sadeleştirilmiş konfigürasyon...

0

C# 10 – CallerArgumentExpression Attribute’u

Merhaba, Bu içeriğimizde, C#’ın gelişim yolunda geçmişteki tartışmaları nihayete erdiren ve C# 8.0’da duyurulup, ertelenen, C# 9.0’da beklenirken sonunda C# 10 ile gelen CallerArgumentExpression attribute’u üzerine incelemede bulunuyor olacağız. Caller? Attribute’u Tanıdık mı Geliyor?...

0

.NET 6 – WebApplication İle Middleware Pipeline’ını İnceleyelim

Merhaba, Bu içeriğimizde .NET 6’da ki WebApplication nesnesinin arkasındaki koda bakacak, middleware ve endpointlerin nasıl yapılandırıldığına odaklanıyor olacağız. Önceki .NET 6 – WebApplicationBuilder’ı İnceleyelim başlıklı makalede açıklandığı gibi uygulama yapılandırmasının yapıldığı yer çoğunlukla WebApplicationBuilder‘dır....

1

.NET 6 – WebApplicationBuilder’ı İnceleyelim

Merhaba, Bu içeriğimizde .NET 6 ile gelen WebApplicationBuilder‘ı teknik olarak inceleyecek ve aynı işlevselliğe sahip olan generic Host ile aralarındaki benzerlikleri değerlendireceğiz. Bir önceki .NET 6’da Yeni Gelen WebApplication/WebApplicationBuilder’ı Eski Generic Host İle Karşılaştırma...

3

.NET 6’da Yeni Gelen WebApplication/WebApplicationBuilder’ı Eski Generic Host İle Karşılaştırma

Merhaba, Bu içeriğimizde .NET 6 ile Asp.NET Core uygulamalarına gelen WebApplication ve WebApplicationBuilder sınıfları üzerine konuşacak ve uygulama oluşturma alternatiflerinden biri olan WebApplication.CreateBuilder komutu üzerine incelemede bulunuyor olacağız. İlk olarak, WebApplication ve WebApplicationBuilder sınıflarını...

1

.NET 6’da ConfigurationManager Nesnesi

Merhaba, Bu içeriğimizde .NET 6 ile gelen yeniliklerden birisi olan ve Asp.NET Core 6 için performans açısından oldukça elverişli olan ConfigurationManager nesnesini inceliyor olacağız. Yazımızın seyri boyunca ConfigurationManager‘ın .NET 5’teki muadili olan ConfigurationBuilder nesnesiyle...

.NET 6'da HTTP/3 Desteği 1

.NET 6’da HTTP/3 Desteği

Merhaba, Bu içeriğimizde .NET 6’da gelen HTTP/3 desteği üzerine bir incelemede bulunuyor olacağız. .NET 6, HTTP/3 ile Asp.NET için Kestrel, HTTP.Sys ve IIS Sunucu Senaryolarına, HttpClient Request’lerine ve gRPC teknolojisine olmak üzere üç farklı...

10

Asp.NET Core’da Çok Dilli Uygulamalar Geliştirme

Merhaba, Her web uygulamasının ideali, üretildiği kültürün sınırlarını aşabilmek ve daha geniş kitlelere ulaşarak farklı coğrafyalara hitap edebilmektir. Bu ideali gerçekleştirebilmek ve kozmopolit bir platform oluşturabilmek için birden çok dili destekleyebilmek ve gelen ziyaretçilerin...

1

C# – ExpandoObject İle Dinamik Nesne Oluşturma

Merhaba, Hiç bir nesneyi runtime’da dinamik olarak tasarlama ihtiyacı hissettiniz mi? Ya da client’ın talebi üzerine üretilen data object içerisinde bulunacak olan alanların dışarıdan(client tarafından) belirlendiği senaryolara denk geldiniz mi? Bu yazıyı okuyorsanız muhtemeldir...

C# Composite Design Pattern(Composite Tasarım Deseni) 0

C# Composite Design Pattern(Composite Tasarım Deseni)

Merhaba, Bu içeriğimizde Yapısal Tasarım Kalıplarından(Structural Patterns) olan Composite Tasarım Desenini(Composite Design Pattern) tam teferruatlı inceleyecek ve bol bol örnekler ile zihinlerimize mantıksal yapısını kazımaya çalışacağız. O halde fazla vakit kaybetmeksizin buyrun başlayalım… Başlarken...

0

Asp.NET Core İçin gRPC’de Authentication ve Authorization İşlemleri

Merhaba, gRPC, her ne kadar uzak sunuculardaki metotları sanki kendi ortamının birer parçasıymış gibi çağırabilen sistem olsa da kimlik doğrulama(authentication) ve yetkilendirme(authorization) nitelikleri sayesinde bir kullanıcıyla ilişkilendirilebilmekte ve böylece daha korunaklı ve tanımlı veri...

Intercepting Filter Pattern(Filtreleme Tasarım Deseni) 1

Intercepting Filter Pattern(Filtreleme Tasarım Deseni)

Merhaba, Bu içeriğimizde, kullanıcıdan gelen isteği(request) işleme almadan önce filtreleyip süzgeçten geçirmemizi sağlayan ya da istek neticesinde kullanıcıya döndürülecek cevabı(response) modifiye ederek o şekilde döndürmemize imkan tanıyacak olan Intercepting Filter Pattern‘ı inceliyor olacağız. Intercepting...

Marker Interface Pattern(İşaretleyici Arayüz Tasarımı) 1

Marker Interface Pattern(İşaretleyici Arayüz Tasarımı)

Merhaba, Bu içeriğimizde nesneler hakkında ek bilgi sağlayacak olan Marker Interface Pattern(İşaretleyici Arayüz Tasarımı)‘ı inceliyor olacağız. Marker Interface Pattern; kod yazma süreçlerinde derleyicinin nesneler hakkında ek bilgilere sahip olabilmesini ve böylece ilgili nesnenin kullanılacağı...