Tek karelik haplara devam :)
Interface olmadan OOP imkansız değildir.
Ama Go’da interface, OOP benzeri tasarımın en güçlü araçlarından biridir.
• Struct veriyi taşır.
• Method davranış ekler.
• Interface ortak davranışı tanımlar.
• Generic ise aynı algoritmayı farklı tiplerle type-safe çalıştırır.
Design Pattern’ler interface’e bağlı değildir.
Çünkü pattern, bir dil özelliği değil; problemi çözme yaklaşımıdır.
Ama interface, özellikle Go’da Strategy / Adapter / Repository gibi pattern’leri daha esnek, değiştirilebilir ve test edilebilir hale getirir.
Go, generics sonrası daha “soyutlama dostu” ve güçlü bir tasarım diline dönüştü🌻