Sobes.tech
Middle — Middle+

Máte zkušenosti s vývojem nebo implementací aplikací s použitím hexagonální architektury?

sobes.tech AI

Odpověď od AI

Šestiúhelníková architektura (Hexagonal Architecture), známá také jako architektura portů a adaptérů, je zaměřena na oddělení obchodní logiky od externích systémů a infrastruktury.

V mé zkušenosti s vývojem v Go jsem tento přístup použil k vytváření modulárních a snadno testovatelných aplikací. Hlavní myšlenkou je izolovat jádro aplikace (obchodní logiku) a komunikovat s vnějším světem přes porty (rozhraní), které jsou implementovány adaptéry (například databáze, webové služby, UI).

Příklad struktury:

  • Core (doména): obchodní logika, rozhraní portů
  • Adaptéry: implementace portů (repozitáře, API, UI)
  • Aplikace: spojuje jádro s adaptéry

Tento přístup usnadňuje testování, výměnu komponent a udržuje kód čistý. V Go je to snadno realizovatelné přes rozhraní a kompozici.

Příklad rozhraní portu a adaptéru:

// Port
type UserRepository interface {
    GetUser(id string) (*User, error)
}

// Adaptér
type PostgresUserRepo struct {
    db *sql.DB
}

func (r *PostgresUserRepo) GetUser(id string) (*User, error) {
    // implementace přístupu k databázi
}

Tímto způsobem závisí obchodní logika pouze na rozhraních, a konkrétní implementace lze měnit bez vlivu na jádro.