Schnittstellen in Groovy
Ich bin zu starten eine social-web-app-Projekt.
Während ich war die Gestaltung von Unterricht habe ich beschlossen, Schnittstellen zu definieren wie "commentable" oder "sympathisch" zu verwenden, wenn nötig.
Doch ich konnte nicht herausfinden, wie es zu implementieren, in Groovy, ich bin in der Lernphase.
Beispiel unten ist aus der Groovy-Dokumentation,
interface X
{ void f(); void g(int n); void h(String s, int n); }
x = [ f: {println "f called"} ] as X
x.f()
//x.g() //NPE here
Sagen, das ist einer meiner Schnittstellen , und ich will eine Klasse mit dem Namen B um diese Schnittstelle zu implementieren ..
soll ich einfach sagen B, da X in der zugehörigen controller?
Wie es im domain-layer? Wenn eine Klasse Z ist, sagen wir "commentable" , soll ich einfach eine domain-Klasse genannt, Kommentieren und sagen, Z hasMany Kommentar? und verwenden Sie die Schnittstelle in der controller-Schicht?
Was ist der groovigen Art und Weise, dies zu tun, richtig? Ich bin etwas verwirrt und ein wenig Aufklärung wäre echt nett.
Vielen Dank im Voraus
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das Beispiel, das Sie zeigen, nicht den richtigen zu finden, verwenden Sie bei der Umsetzung Ihrer eigenen Schnittstellen. Das ist ein bequemer Weg, um den nur teilweise eine Schnittstelle implementieren. In diesem Beispiel wird nur der
f
Methode implementiert ist, so dass die anderen scheitern, wie Sie sah. Dies ist nützlich für Tests, wenn Sie eine große Oberfläche, aber nur ein paar nennen Methoden in der Klasse unter test, so dass Sie nicht brauchen, um zu implementieren, die die gesamte Oberfläche.Implementieren Sie interfaces in Groovy wie in Java:
implements
Schlüsselwort. Möchten Sie vielleicht, um eine Kopie von Venkat Subramaniam "Programming Groovy" - es ist sehr gut und die meisten vor kurzem veröffentlicht, Groovy-Buch. "Groovy in Action" ist der Klassiker, aber ist etwas veraltet, obwohl die 2. edition ist verfügbar in eine early-access-edition am manning.com/koenig2