Zaraz rozpocznie się projekt aplikacji społecznościowej.Interfejsy w Groovy
Podczas projektowania klas zdecydowałem się zdefiniować interfejsy takie jak "komentarz" lub "sympatyczny", aby móc z nich korzystać w razie potrzeby.
Jednak nie mogłem go zrozumieć, jak go wdrożyć w Groovy, że jestem w fazie nauki.
Poniższy przykład pochodzi z Groovy dokumentacji
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
że jest to jeden z moich interfejsów i chcę użyć klasy o nazwie B wdrożyć ten interfejs ..
będę tylko powiedz B jako X w powiązanym kontrolerze?
Jak to zrobić w warstwie domeny? Jeśli klasa Z jest, powiedzmy "komentarz", czy powinienem zrobić klasę domeny o nazwie Comment i powiedzieć Z hasMany Comment? i korzystać z interfejsu w warstwie kontrolera?
Jaki jest sposób Groovy to zrobić poprawnie? Jestem nieco zdezorientowany i małe wyjaśnienie byłoby naprawdę miłe.
góry dzięki
jesteś pewien, że nie widziałem żadnych pojedynczych przykładów, jak to nawet nie wiem, wdraża kluczowe istnieje Groovy – add9
więc dotyczące kwestii projektowania czy mogę zdefiniować Interfejs, podobnie jak w Javie, implementowanie go w kontrolerze i używanie hasMany w domenie byłoby właściwym działaniem? – add9
Używanie interfejsów w Groovy (lub Grails) ma niewielką zaletę, ponieważ można wywoływać dowolne metody - Groovy obsługuje "pisanie kaczkami". Niektóre wtyczki używają ich, ale bardziej jako interfejsy "markera" bez metod, i są używane tylko do klasyfikowania typów, dzięki czemu można sprawdzić "instanceof MyInterface" i odpowiednio działać. Ale poza tym naprawdę nie ma powodu, aby używać interfejsów. –