Category: Tasarım Desenleri

aspect-oriented-programming 0

Aspect Oriented Programming

Aspect Oriented Programming bir uygulama içerisindeki authorization, logging, caching, exception handling, validation gibi cross-cutting concern sayılan işlevlerin ayrıştırılmasıyla modülariteyi arttırmayı hedefleyen bir yaklaşımdır. Geleneksel katmanlı mimarilerde bir işlem gerçekleştirilirken genellikle yanında başka işlemler de...

unit-of-work-repository 2

Unit of Work & Repository Patterns Implementation

Unit of Work ve Repository tasarım desenleri veri odaklı mimarilerle çalışırken kurulan yapıların daha esnek, test edilebilir olmasını sağlarken transaction yönetimini ve kodların tekrar kullanılmasını da kolaylaştırmaktadır. Repository Pattern Repository Pattern veri kaynağından veri...

dependency-injection 0

Dependency Injection in ASP.NET

Yazılım geliştirirken Inversion of Control, IoC Container, Dependency Inversion ve Dependecy Injection kavramlarıyla karşılaşırız. Birbirlerine benzer kavramlar olsalarda ayrımlarının yapılması gerekmektedir. Örnekleriyle tüm terimlere göz atmadan Principle ve Pattern arasındaki farkın anlaşılmasında yarar var....

Saga Pattern Distributed Transactions 0

Orchestration-Based Saga Implementation

Saga Pattern dağıtık ortamda distributed transcation yönetilirken veri tutarlılığını hedefler. Implemente edilirken Choreography-Based Saga ve Orchestration-Based Saga olmak üzere iki yaklaşım vardır. Saga Pattern Nedir yazısında bu konu teorik olarak incelendi. Bu yazıda Orchestration-Based...

Saga Pattern Distributed Transactions 0

Choreography-Based Saga Implementation

Saga Pattern dağıtık ortamda distributed transcation yönetilirken veri tutarlılığını hedefler. Implemente edilirken Choreography-Based Saga ve Orchestration-Based Saga olmak üzere iki yaklaşım vardır. Saga Pattern Nedir yazısında bu konu teorik olarak incelendi. Bu yazıda Choreography-Based...

Saga Pattern Distributed Transactions 0

Saga Pattern: Distributed Transaction Yönetimi

Microservice mimarisini kullanmanın bir çok avantajı var. Ancak bu avantajlar bir takım zorlukları da beraberinde getiriyor. Bu zorluklardan bir tanesi de servislere yayılmış distributed transaction‘ları yönetirken veri tutarlılığının sağlanmasıdır. Bu zorluğun üstesinden gelmek için...