- ache,
Bonjour,
Je lis cet article et je suis plutôt sceptique à certains conseils comme:
- Define the interface at point of use.
- L’utilisation des interfaces scellée.
J’ai vraiment du mal à voir l’apport. C’est moi qui passe à coté d’une pratique courante où un gain est clairement identifié ?
Qu’en pensez vous ? Quel est votre expérience à ce sujet ?
Merci
tl;dr / Résumé de l’article
L’auteur recommande de faire:
package animals
type Dog struct{}
func (a Dog) Speaks() string { return "woof" }
Puis:
package circus
type Speaker interface {
Speaks() string
}
func Perform(a Speaker) string { return a.Speaks() }
Plutôt que :
package animals
type Animal interface {
Speaks() string
}
// implementation of Animal
type Dog struct{}
func (a Dog) Speaks() string { return "woof" }
Et ça:
package circus
import "animals"
func Perform(a animal.Animal) string { return a.Speaks() }
+0
-0