2 Ocak 2021 Cumartesi

.Net Core ile En Çok Kullanılan 3.Parti Kütüphaneler

     S.A. Arkadaşlar,

     Bugünkü yazımız bir derleme yazısı olacak. Daha önce de benzer derleme yazılarımız olmuştu. Bugün de yine onlardan birini ele almaya çalışacağız. Bugünkü derleme yazımızın konusu .net dünyasında en çok kullanılan ve göze çarpan 3.parti kütüphaneler. Bunları kısa kısa açıklayıp onlarla ilgili daha ayrıntılı linkler de vermeye özen göstereceğiz. Ayrıca linkedin paylaşımıyla yazıyı geliştirmeme vesile olan Fatih Çakıroğlu'na ve bu paylaşımın altına yazan arkadaşlara da teşekkürler. 

   Scrutor: Dependency Injection işlemlerini yaparken bunları startup.cs içerisinde belirtmemiz lazım. Bu işi optimize eden veya tek merkezden kontrol eden yaklaşımlar vardır. Arka tarafta Decarator pattern kullanan bu kütüphane kod tarafında ise sizi bu kod kalabalığından kurtarıp kodunuzu sadeleştirmeye yarar. [Daha fazlası]

     Swashbuckle: Web API geliştirirken ön taraf ile konuşabilmek için en önemli konulardan biri de modellerin hangi alanlarına sahip olduğu ve bunun dokümantasyonudur. Bu işi bize otomatik olarak halleden ve bir de arayüz desteği sağlayan, aynı zamanda postman gibi de kullanabileceğimiz güzel bir kütüphanedir. [Daha fazlası]

     mediatR: Kabaca nesnelerin birbiriyle direkt konuşması yerine aracının bunları yönetmesidir. Örnekleyecek olursak, havalimanındaki uçakların birbiriyle iletişime geçmesi yerine kuleyle iletişime geçmesini ön gören pattern olan mediator pattern'ini uygulayan bir kütüphanedir. [Daha fazlası]

    Ocelot: Dağıtık sistemlerde gelen isteklerin doğru servislere yönlendirme işini birkaç farklı şekilde yapabiliyoruz. Bu işi yapan bizim için kolay hale getiren ve bununla birlikte daha birçok işlemi de yürüten bu konuda piyasanın en yaygın kullanılan kütüphanelerindendir. [Daha fazlası]

   AutoMapper: Projelerimizde veritabanı ile eşleşen entity nesnelerimiz mevcuttur, fakat buradaki bütün alanlara her zaman ihtiyacımız olmamaktadır. Bu tarz durumlarda bütün nesneyi göndermek yerine bunu daha basit modellere (DTO) eşitliyoruz. Bunu bizim yerimize yapan bir kütüphanedir. [Daha fazlası]  

    Autofac: Bilindiği üzere DI .net core ile birlikte gelmektedir, fakat tüm bu tanımlamalar startup.cs dosyası içerisinde tanımlanmaya başlandığında projenin kod okunurluğu düşmektedir. İşte tam da burada nesnelerin yaşam ömrünü belirleyen IoC container işini üstlenir. [Daha fazlası]

    FluentAPI - Code First yaklaşımı ile veritabanını oluşturma yoluna gidebiliyoruz. Bununla birlikte veritabanına eklenen bazı özellik ve kısıtlamaları hem attirbute kullanımı hem de bu şekilde yapılabilinmektedir. İkisinin de birbirine göre avantaj ve dezavantajları olmasıyla birlikte daha karmaşık kısıtlamalar ve okunurluk açısından FluentAPI bir adım daha öndedir. Tüm bu işleri yapabilen bir kütüphanedir. [Daha fazlası]

    Quartz: Zamanlanmış işler için açık kaynaklı bir kütüphanedir. Bilindiği üzere zamanlanmış işler için bizim işin önemli bir kısmını kapsayabilmektedir ve bunu yönetmek de doğal olarak otomatik olmalıdır. Quartz da bu zamanlanmış işleri zamanı geldiğince çalıştırabilmektedir. Bir iş parçacığı ve bir tetikleyici sayesinde bu işi yapmaktadır. [Daha fazlası]

   Health  Check: Dağıtık mimarilerde servislerin durumlarını ele alır. Bu sistemlerde servislerin her birinin halini kontrol etmek tabi ki çok zor olacaktır. O yüzden bunu otomatikleştiren ve gerektiğinde bize bunu haber verecek bir sistem kullanmamızı kolaylaştırır. [Daha fazlası]

   Mail Kit: Mail gönderme işlerini bizim için oldukça kolaylaştıran hale getiren bir kütüphanedir. [Daha fazlası]

    Dapper: Entity Framework gibi bir ORM aracıdır. Birçok veritabanı ile bağlantısı vardır. Özellikle performans konusunda en iyilerdendir. Stackoverflow ekibinin tarafından da yazılmış olması yazılımcılar arasındaki kullanımını olumlu manada etkilemiştir. [Daha fazlası]

   Polly: Dağıtık sistemlerde servislerin birbiriyle haberleşmesi gerekmektedir. Bu haberleşme sırasında karşılaşılan problemlere tolerans etmemizi ve bu işleri yönetmemizi sağlayan bir pattern'i entegre etmeyi sağlar. [Daha fazlası]

     Hangfire: Arka planda işlerin oluşturulması yürütülmesi ve yönetilmesini sağlayan açık kaynaklı bir kütüphanedir. Bu işleri yönetirken istediğiniz veritabanı ile de çalışma olanağınız bulunmaktadır. [Daha fazlası]

     Redis: Cachce yönetimini sağlayan key-value yapısı üzerine kurulmuş bir NoSql in-memory veritabanıdır. [Daha fazlası

     Smidge: ASP.Net Core MVC projelerinizde büyük boyutlu css ve javascript sıkıştırmak ve performans kazancı için kullanılır. [Daha fazlası]

     RabbitMQ: Kuyruklama mesaj sistemidir. Alınan bir mesajı sırası geldiğinde onu gerekli yere iletmektir. Kafka en güçlü alternatiflerinden biridir. [Daha fazlas]

     İlgililerine Kısa Kısa

     Ben.Demystifier: Daha anlamlı log sistemi için kullanılabilir.

     GuardClauses: İç içe koşul ifadeleri basitleştirmek için kullanılabilir.

     EasyProfiler: Endpoint ve sorguların performansını sorgulamak için kullanılabilir.

      Octokit: QraphQL ile birlikte kullanılabilir.

     Çok daha fazlası için aşağıdaki linklere de göz atmanızı tavsiye ederim.

https://www.domstamand.com/3rd-party-dotnet-libraries-to-add-to-your-toolbox/

https://www.syncfusion.com/blogs/post/top-10-net-core-libraries-every-web-developers-should-know.aspx

Hiç yorum yok:

Yorum Gönder