Bu proje CQRS ve Mediator design paternleri barındıran bir çalışmadır.
CQRS, Komut ve Sorgu Sorumluluğu Ayrımı anlamına gelir. Bu desen, veri değiştiren işlemler (komutlar) ile veri sorgulayan işlemlerin (sorgular) ayrı modellerle temsil edilmesini sağlar. Böylece, her iki işlem türü için farklı gereksinimlere ve performans optimizasyonlarına uygun çözümler geliştirilebilir.
Komutlar: Sistemde veri değiştiren işlemler (create, update, delete) komutlar aracılığıyla gerçekleştirilir. Komutlar genellikle yan etkiler yaratır ve bir sonucu döndürmezler. Sorgular: Verileri okumak ve sorgulamak için kullanılır. Sorguların yan etkisi yoktur ve genellikle veri dönerler. CQRS, uygulamaların ölçeklenebilirliğini ve bakımını iyileştirir, çünkü komut ve sorgu işlemlerini ayrı ayrı optimize etmek mümkündür.
Mediatör tasarım deseni, bileşenlerin doğrudan birbirleriyle iletişim kurmak yerine bir aracı (mediatör) üzerinden iletişim kurmasını sağlar. Bu, bileşenler arasındaki bağımlılıkları azaltır ve kodun daha düzenli ve yönetilebilir olmasını sağlar.
Merkezi Kontrol: Tüm istekler ve işlemler merkezi bir mediatör aracılığıyla yönetilir. Bu, kodun anlaşılabilirliğini ve genişletilebilirliğini artırır. Gevşek Bağlantı: Bileşenler mediatör aracılığıyla iletişim kurduğundan, bileşenler arasında sıkı bağımlılıklar ortadan kalkar. Bu, bileşenlerin bağımsız olarak değiştirilebilmesini ve test edilebilmesini kolaylaştırır. Mediatör deseni, özellikle CQRS ile birlikte kullanıldığında, komut ve sorgu işlemlerinin düzenlenmesinde ve yönetilmesinde büyük fayda sağlar.
Bu proje, CQRS ve Mediatör tasarım desenlerini kullanarak bir .NET Core MVC uygulaması geliştirmek için örnek bir yapı sunmaktadır. Projede, komutlar ve sorgular ayrı katmanlarda düzenlenmiş ve mediatör aracılığıyla yönetilmektedir. Bu, kodun daha modüler, ölçeklenebilir ve bakımının kolay olmasını sağlamaktadır.
- .Net Core Mvc
- EntityFramework
- AutoMapper
- MediatR