Clean Architecture yapısına genel bakış ✔
➡ Domain: Clean Architecture’da, “Domain” katmanı genellikle çekirdek işlevselliği içerir ve uygulamanın ana iş mantığını temsil eder. Bu katman, iş domain’ini yani uygulamanın çözümlemeye çalıştığı gerçek dünya problemlerini içerir.
➡ Application: Clean Architecture’da, “Application” katmanı genellikle iş mantığını dış dünya ile etkileşime sokan bir arayüz sağlar. Bu katman, kullanıcı arayüzü, API’lar ve diğer dış servislerle iletişim kurarak uygulamanın iş mantığını tetikler.
➡ Infrastructure: Clean Architecture’da, “Infrastructure” katmanı genellikle dış kaynaklara (external resources) ve çerçevelere (frameworks) olan bağımlılıkları içerir. Bu katman, uygulamanın dış dünyayla olan teknik ayrıntıları ve bağımlılıkları ele alır.
➡Presentation: Clean Architecture’da, “Presentation” katmanı genellikle kullanıcı arayüzü ve kullanıcı etkileşimiyle ilgili görevleri içerir. Bu katman, kullanıcı taleplerini alır, iş mantığına iletir ve işlemlerin sonuçlarını kullanıcıya gösterir.
📌 📌📌📌 📌📌📌
✅ Caching (Önbellekleme):
Caching, sıkça kullanılan verilerin geçici bir depolama alanında tutularak, uygulama performansını artırmayı amaçlar. Bu sayede tekrar eden sorgu veya hesaplamaların maliyeti azaltılır.
✅Logging (Günlükleme):
Logging, uygulamanın çalışma sürecinde ortaya çıkan olayları kaydederek, hata ayıklama, performans izleme ve güvenlik takibi gibi amaçlarla kullanılır. Günlükler, sistem durumunu anlamak ve sorunları teşhis etmek için önemli bilgiler sağlar.
✅Exception Management (Hata Yönetimi):
Hata yönetimi, uygulama içinde oluşan hataları belirlemek, kaydetmek ve uygun bir şekilde yanıtlamak için kullanılır. Bu, uygulamanın güvenilirliğini artırır ve kullanıcıya anlamlı geri bildirimler sağlar.
✅Configuration (Yapılandırma):
Yapılandırma, uygulamanın davranışını etkileyebilen ayarları içerir. Bu ayarlar genellikle dış konfigürasyon dosyalarından veya çevre değişkenlerinden okunur ve uygulamanın esnekliğini artırır.
✅Security (Güvenlik):
Güvenlik, uygulamanın kullanıcı verilerini, sistem kaynaklarını ve iletişimi koruma amacını taşır. Kimlik doğrulama, yetkilendirme, veri şifreleme gibi önlemlerle uygulamanın güvenliğini sağlar.
✅Messaging (İletişim):
İletişim, farklı bileşenler arasında asenkron veya senkron mesajlaşma yoluyla veri transferini sağlar. Bu, sistemler arası haberleşmeyi kolaylaştırır ve modüler bir tasarımın oluşturulmasına yardımcı olur.
✅Idempotency (Idempotans):
Idempotency, aynı işlem veya isteğin bir veya daha fazla kez tekrar edilebilmesi anlamına gelir. Idempotent işlemler, aynı verilerle tekrarlandığında aynı sonucu üretir ve sistemdeki tutarsızlıkları önler.
Hasan Aslan (Software Developer)
#CleanArchitecture