Kategori: Design Pattern


Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...
Microservice Mimarisinde Two-Phase Commit(2PC) Pattern İle Transaction Yönetimi - Nedir Nasıl Uygulanır Sagadan Farkı Nedir 0

Microservice Mimarisinde Two-Phase Commit(2PC) Pattern İle Transaction Yönetimi – Nedir? Nasıl Uygulanır? Saga’dan Farkı Nedir?

Merhaba, Bu içeriğimizde microservice yaklaşımını uyguladığımız mimarilerde veri tutarlılığını sağlamanın davranışlarından biri olan Two-Phase Commit(2PC) modelini ele alacak, nasıl ve hangi durumlarda kullanıldığını değerlendiriyor olacağız. Ayrıca neden Saga pattern’ına nazaran daha az tercih edilmesi...

0

Event-Driven Mimaride Yinelenen Mesajlar – Idempotent Sorunsalı ve Idempotent Consumer Pattern

Merhaba, Yazılım olgusu, tabiatı gereği birbiriyle etkileşim kurma mecburiyetinde olan farklı bileşenlerden meydana gelip, anatomik olarak bütünlük arz eden bir olgudur. Bu bütünlüğün içerisindeki bileşenler arasındaki etkileşimi modelleyebilmemizi sağlayan türlü yaklaşımlar mevcuttur ve bu...

specification pattern 5

C# İle Specification Pattern’ı İnceleyelim

Merhaba, Bu içeriğimizde, domain içerisinde iş kurallarını kapsülleyerek kod tabanında farklı noktalarda yeniden kullanılabilir kılmamızı ve böylece bu kuralları tek bir yerden merkezi olarak yönetmemizi sağlayan Specification modelini ele alacak ve detaylı bir şekilde...

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...

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...

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...

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ğı...

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

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

Merhaba, Bu içeriğimizde Davranışsal Tasarım Kalıplarından(Behavioral Patterns) olan Visitor Tasarım Desenini(Visitor Design Pattern) tam teferruatlı inceleyecek ve hangi senaryolarda, ne amaçla bu pattern’ı kullanabileceğimize dair teorik sorgulamada bulunurken bir yandan da pratiksel olarak birkaç...

Front Controller Design Pattern Nedir? Nasıl Uygulanır? 0

Front Controller Design Pattern Nedir? Nasıl Uygulanır?

Merhaba, Bu içeriğimizde yapısal desenler(structural patterns) kategorisiyle birlikte bir yandan da web arayüz desenleri kategorisinde de adından bahsettiren Front Controller Design Pattern üzerine konuşuyor olacağız. İçeriğimiz süresince Front Controller Design Pattern nedir? ne amaçla...

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

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

Merhaba, Bu içeriğimizde Davranışsal Tasarım Kalıplarından(Behavioral Patterns) olan State Tasarım Desenini(State Design Pattern) tam teferruatlı inceliyor olacağız. State pattern nedir? Genellikle hangi tarz senaryolarda ne amaçla kullanılmaktadır? Hangi tasarım desenleriyle benzerlik göstermektedir? vs. gibi...

Microservice - Saga - Commands-Orchestration Implemantasyonu İle Transaction Yönetimi 7

Microservice – Saga – Commands/Orchestration Implemantasyonu İle Transaction Yönetimi

Merhaba, Önceki içeriklerimizden Microservice – Saga – Events/Choreography Implemantasyonu İle Transaction Yönetimi başlıklı yazımızda Saga pattern’ının iki implemantasyonundan biri olan choreography yöntemini tüm detaylarıyla ve pratik olarak incelemiştik. Bu içeriğimizde ise yine Saga pattern’ının...

Microservice Mimarilerde Saga Pattern İle Transaction Yönetimi 4

Microservice – Saga – Events/Choreography Implemantasyonu İle Transaction Yönetimi

Merhaba, Bir önceki Microservice Mimarilerde Saga Pattern İle Transaction Yönetimi başlıklı makalemizde Saga pattern üzerine detaylıca teorik incelemede bulunmuştuk. Bu içeriğimizde ise Saga pattern’ını Events/Choreography implemantasyonu çerçevesinde ele alacak ve pratikte nasıl bir inşanın...

Microservice Mimarilerde Saga Pattern İle Transaction Yönetimi 5

Microservice Mimarilerde Saga Pattern İle Transaction Yönetimi

Merhaba, Biliyorsunuz ki, yazılımsal operasyonlarda belirli senaryolarla baş edebilmek için tecrübevi birikim olarak yazılımcılar tarafından tatiksel tanımlanmış design pattern stratejilerinden istifade etmekteyiz. Design pattern uyarlılığı microservice yapılanmalarında da varlığını göstermekte ve yaşanılan problemlerde çözüm...

event store 1

.NET Core Ortamında ‘Event Store’ İle Event Sourcing Yapılanması

Merhaba, Bir önceki Basit Bir Event Sourcing Uygulaması Geliştirelim başlıklı makalemizde Event Sourcing pattern’ının nasıl gerçekleştirilebildiğine pratiksel olarak bir örnek vermeye çalışmıştık. İlgili makalede ele alınan örnekten de görüldüğü üzere uygulamada gerçekleştirilen ‘event’lerin in-memory’de...

Basit Bir Event Sourcing Uygulaması Geliştirelim 1

Basit Bir Event Sourcing Uygulaması Geliştirelim

Merhaba, Bu içeriğimizde bir önceki kaleme aldığımız Event Sourcing Nedir? Haydi Gelin Hep Beraber İnceleyelim başlıklı makalemize basit bir somut örnek teşkil edecek şekilde çalışma gerçekleştireceğiz. Amacımız Event Sourcing’in pratikte ucundan kıyısından tadına bakmak...

Event Sourcing Nedir Haydi Gelin Hep Beraber İnceleyelim 10

Event Sourcing Nedir? Haydi Gelin Hep Beraber İnceleyelim

Merhaba, Bu içeriğimizde, bir veri üzerinde meydana gelen tüm değişiklikleri kayıt altında tutmamızı öneren ve böylece ilgili verinin sadece güncel ham vaziyettinden ibaret tutulmasından ziyade o verinin süreçte yaşadığı değişikliklerinde esasında ilgili verinin bir...

9

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

Merhaba, Bu makalemizde Davranışsal Tasarım Kalıplarından(Behavioral Patterns) olan Mediator Tasarım Desenini(Mediator Design Pattern) bol pratiksel senaryolar eşliğinde inceliyor olacağız. İçeriğe başlamadan önce şahsi fikrimi beyan ederek bir girizgâh eylemek isterim ki; bana sorarsanız doğası...

1

.NET Core 5.0 – Retry Pattern, Timeout ve Circuit Breaker | Polly

Merhaba, Client ve server arasındaki haberleşmede request/response esasına dayanan bir proje düşleyelim… Client’ın, ihtiyacı doğrultusunda server’a request tabanlı isteklerde bulunabildiğini ve elde edilen response neticesinde gelen verileri işleyebildiğini… Evet, biliyorum. Bu durum günümüzün en...

C# Decorator Design Pattern(Decorator Tasarım Deseni) 5

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

Merhaba, Bu içeriğimizde mevcudiyette var olan bir class’a mimarisel yeni bir nitelik kazandırmamızı sağlayacak olan, Structural Pattern(Yapısal Desenler)’lerden Decorator Design Pattern(Decorator Tasarım Deseni) üzerine konuşuyor olacağız. Yazılım mimarilerinde temel esas, mümkün mertebe birbirlerinden soyutlanmış...

C# Object Pooling Design Pattern(Object Pooling Tasarım Deseni) 1

C# Object Pooling Design Pattern(Object Pooling Tasarım Deseni)

Merhaba, Bu içeriğimizde OOP temelli geliştirilen uygulamalarda, yaklaşımın esasını teşkil eden nesne(object) kavramının yapısal durumundan yola çıkarak, tekrarlı kullanılan nesnelerin üretim esnasındaki maliyetlerine dair çözüm amaçlı geliştirilmiş Object Pooling Design Pattern üzerine konuşuyor olacağız....

C# Repository Design Pattern(Repository Tasarım Deseni) 8

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

Merhaba, Bu içeriğimizde yazılım projelerinde olmazsa olmaz bir tasarım kalıbı olan Repository tasarım kalıbını inceliyor olacağız. Repository Design Pattern, veritabanı sorumluluğunu üstlenen sınıfı tasarlarken bir standart üzerine oturtmayı hedefleyen ve Entity Framework gibi ORM(Object...