2 Aralık 2022 Cuma
HTTPS Nasıl Çalışır ?
- HTTPS olmadan, browser ile server arasındaki iletişim düz metindir. Bu, girdiğiniz şifrenin veya internet üzerinden gönderdiğiniz kredi kartı numarasının, onu ele geçirme yeteneği olan herkes tarafından okunabileceği anlamına gelir.
- HTTPS, bu sorunu çözmek için internet üzerinden gönderilen verileri gönderici ve alıcı dışında kimse tarafından okunamaz hale getirmek için tasarlanmıştır.
- HTTPS, HTTP protokolünün bir uzantısıdır.
-Şifrelenmiş veriler bir bilgisayar korsanı tarafından yakalanırsa, tek görebildikleri karmakarışık verilerdir. TLS hand shakenin(el sıkışma) devreye girdiği yer burasıdır.
1 Aralık 2022 Perşembe
Browsera bir URL yazdığımızda ne olur ?
29 Kasım 2022 Salı
Repository ve UnitOfWork
It is a single transaction that involves multiple CRUD operations.
When using Repository Pattern, we access the DBContext in our repositories.
Each repository generates and maintains its instance of DBContext.
This might lead to issues since DbContext has its in-memory list of records for the entities being modified or added in a single transaction.
In such cases, when SaveChanges() fails for a repository and succeeds in the other one, it will result in database inconsistency.
To avoid this, we add a Unit of Work layer that is a centralized store for all the repositories to receive the same instance of DbContext.
UoW ensures that the operations either succeed or fail as a whole.
We omit the Rollback() method in the Unit of Work implementation, leveraging EF Core's behavior that changes persist only when calling SaveChanges().
En soldaki kısım repository kullanılmadığı durumlarda doğrudan veritabanına DbContext aracılığı ile erişilmesini göstermektedir. Sağdaki kısım ise Unit Of Work pattern kullanılarak katmanlarla ayrılan Entity Framework ve Controller bölümlerinin arasına istenildiği anda gerçek repository değil de bir mock repository yerleştirme sayesinde test edilebilirliğin kolaylaşması sağlanmaktadır.
21 Kasım 2022 Pazartesi
Transactional Outbox Pattern
Problem
Çözüm
Handling Dublicate Messages(Idempotent Consumer)
18 Kasım 2022 Cuma
Memento Pattern
Problem
-Özellikle bir nesnenin durumu sıklıkla değişiyor ve zaman zaman bu değişiklikleri geri almak(undo) yada geçmişteki bir noktaya dönmek.(checkpoint)
-söz konusu ise bu ihtiyaç çok daha açık hale gelir.
Çözüm
-Memento,gerektiğinde durumu değişen nesnenin durumunu sakladığı hale geri getirmek için kullanılır.
-Memento, nesnenin sadece durumu saklanma ihtiyacı duyulan kısmını gereken derinlikte saklar
Template Method Pattern
- Template Method, Bir algoritmanın yapısını değiştirmeden bazı adımlarının alt sınıflarda tekrar tanımlanmasına imkan sağlar.
-Template method ile bir algoritmanın değişken noktaları soyutlanır.
-Template Method kalıbıyla algoritmalar arasındaki ortak noktalar bir üst sınıfta soyutlanır değişen noktalar ise alt sınıflarda yerine getirilir.
Template method kalıbı Strategy kalıbı ile karıştırılabilir.
-Strategy'de algoritma belli değildir. Template Methodda ise bazı adımlarının detayı dışında algoritma bellidir.
Template Method Design Pattern’i ise davranışın bir kısmı değiştiği durumlarda kullanılır.
Burada dikkat etmemiz gereken nokta, Strategy Design Pattern ile fazladan aynı işi yapacak olan algoritmik çalışma gerçekleştirmektense, var olan kod parçalarının yeniden kullanılabilirliğinin arttırılmasında(Code Reusability) da tercih edildiği görülmektedir.
Yani Strategy ile yazılmış kodu refactoring yaparak template metoda dönüşebiliriz



