Tüm Yazılar

Golang ile Clean Architecture Neden Şart?

4 dk okuma

Yıllarca farklı dillerle projeler geliştirdim. Ancak iş yüksek trafikli bir sisteme (örneğin Betco altyapısı gibi) geldiğinde, kodun sadece “çalışması” yeterli olmuyor.

Sorun Neydi?

Eğer veritabanı sorgularınızı, iş mantığınızı (business logic) ve HTTP handler’larınızı aynı dosyanın içine tıkıştırırsanız, o proje 6 ay sonra patlamaya mahkumdur.

İşte tam bu noktada Clean Architecture devreye giriyor.

Golang’da Klasör Yapısı

Benim standart olarak kullandığım yapı şudur:

// cmd/api/main.go
package main

import "fmt"

func main() {
    fmt.Println("Sistemi ayağa kaldırıyoruz...")
    // Burada sadece dependency injection ve server start işlemleri olur.
}