Kategori: Design Pattern


Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...
Intercepting Filter Pattern(Filtreleme Tasarım Deseni) 0

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 0

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 1

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 2

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 5

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

2

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

0

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

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) 6

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

C# Iterator Design Pattern(Iterator Tasarım Deseni) 1

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

Merhaba, Behavioral Patterns(Davranışsal Kalıplar) kategorisinde bulunan Iterator Design Pattern üzerine içerik oluşturacağız. Iterator Türkçe olarak anımsattığı iterasyon kelimesine karşı gelmektedir. İterasyon dediğimiz yapı bir çözüme giden her adımı tarif etmektedir. Kelimenin mahiyetiyle ilgili daha...

C# Template Method Design Pattern(Template Method Tasarım Deseni) 0

C# Template Method Design Pattern(Template Method Tasarım Deseni)

Merhaba, Behavioral Patterns(Davranışsal Kalıplar) kategorisinde bulunan Template Method Design Pattern üzerine içerik oluşturacağız. Template, kelime manasından da anlaşılacağı üzere şablon demektir. Haliyle yaptığımız faaliyetin inşasında belirli şablonsal algorimalar üzerinde çalışma gerçekleştirecek ve bu algoritmada...

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

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

Merhaba, Bu yazımızda Creational Patterns(Oluşturucu Kalıplar) kategorisine giren Builder Design Pattern üzerine uzun uzun ve bol örnekler eşliğinde bir içerik oluşturacağız. Üzerine çalıştığımız projenin ihtiyaçları arttıkça, uygulamada kullanacağımız nesnelerin maliyetleride doğru orantılı olarak artmaktadır....

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

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

Merhaba, Bu makalemizde Structural Patterns(Yapısal Desenler) kategorisine giren Proxy Design Pattern hakkında teferruatlı bir içerik oluşturacağız. Oluşturduğumuz tasarımda bazı sınıfların, nesnelerin yahut işleyişlerin sorumluluk ve süreçteki işlevsel hallerini bir başka nesne üzerinde kontrol edebilir...

1

Fluent Interface Nedir? Nasıl Kullanılır?

Merhaba, Sizlere aslen bir Design Pattern olan Fluent Interface yapısından bahsedeceğim. Fluent, “akıcı” anlamına gelen bir kelimedir. Yani anlayacağınız kod yazarken belli başlı durumlarda daha net ve akıcı kod yazmamızı sağlayan bir tasarım desenini...

Ninject 0

Dependency Injection(DI) – Ninject

Merhaba, Önceki yazılarımdan Dependency Injection(DI) Nedir? Nasıl Uygulanır? başlıklı yazımda Dependency Injection desenine detaylıca değinmiştik. Bu yazımızda ise bu desene uygun tasarlanmış Inversion of Control(IoC) Framework’ü olan Ninject üzerine konuşacağız. Biliyoruz ki, uygulama içerisinde...

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

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

Merhaba, Bu makalemizde Structural Patterns(Yapısal Desenler) kategorisine giren Facade Design Pattern hakkında teferruatlı bir içerik oluşturacağız. ‘Facade’, kelime anlamı olarak ‘cephe’ diye nitelendirebileceğimiz aslen Fransızca kökenli bir kelimedir. Tasarım açısından, önemli olan cepheyi işaret...

1

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

Merhaba, Behavioral Patterns(Davranışsal Kalıplar) kategorisinde bulunan Memento Design Pattern üzerine içerik oluşturacağız. Memento adı üzerinde “hatıra”, “yadigar” vs.. demektir 🙂 Yani anlayacağınız hatırlayıcı işlevde bir tasarım deseni üzerine konuşuyor olacağız. Memento Design Pattern, elimizdeki...