Son illərdə Hexagonal Architecture — yəni Ports & Adapters — böyük şi…

Kaan Baytan

Son illərdə Hexagonal Architecture — yəni Ports & Adapters — böyük şirkətlər arasında çox populyarlaşıb və bu, təsadüfi deyil. Gəlin qısa şəkildə niyə bu qədər yaxşı işlədiyinə baxaq.

Əvvəlcə qeyd edək ki, Hexagonal Architecture əsasən bir-birindən aydın şəkildə ayrılmış 3 qatdan ibarətdir:

1. Domain

Sistemin ürəyidir.

Burada bütün biznes məntiqi yerləşir və bu məntiq framework-lərdən, verilənlər bazalarından və API-lərdən tamamilə müstəqildir.

Domain daxilində adətən bunlar olur:

Entities — bəli, bunlar verilənlər bazasındakı entity-lər deyil

Value Objects — dəyişməz obyektlər

Biznes qaydaları

Domain Services

Xüsusi exception-lar

Əsas fikir: sistemin ən vacib hissəsi mümkün qədər saf və stabil qalmalıdır.

2. Application

Bu qat bir növ sistemin giriş-çıxışını idarə edən “nəzarətçi” rolunu oynayır.

Burada adətən bunlar yerləşir:

Use Case-lər

DTO-lar və Mappers

IN Ports — sistemə daxil olan əməliyyatlar

OUT Ports — infrastruktur qatına çıxan əməliyyatlar

Bu qat biznes məntiqini texniki detallarla qarışdırmağın qarşısını alır və sistemin strukturunu daha səliqəli saxlayır.

3. Infrastructure

Burada artıq bütün texniki detallar yerləşir:

Framework-lər

Verilənlər bazaları

Message Queue-lar

REST

GraphQL

SMTP

Xarici sistemlərlə inteqrasiyalar

Bu qat Adapter-ləri implement edir.

Adapter-lər sayəsində:

Domain qatına toxunmadan MySQL-dən MongoDB-yə keçmək olar

Xarici API-lərə sorğular göndərmək olar

Queue-lardan mesajlar qəbul etmək olar

Framework-lərlə işləmək mümkündür

Texniki detallar daxili biznes kodunu çirkləndirmir

Ports & Adapters yanaşması sayəsində Infrastructure ən çevik qatlardan birinə çevrilir.

hastagta ver

#HexagonalArchitecture #PortsAndAdapters #SoftwareArchitecture #CleanArchitecture #DomainDrivenDesign #DDD #BackendDevelopment #SoftwareEngineering #SystemDesign #DomainLayer #ApplicationLayer #InfrastructureLayer #UseCases #CleanCode #SOLID #Microservices #ModularMonolith #Backend #Programming #Developer #CodeQuality #MaintainableCode

Son illərdə Hexagonal Architecture — yəni Ports & Adapters — böyük şi…