8
我即將開始一個社交網絡應用程序項目。當我在設計類時,我決定定義像「commentable」或「likeable」這樣的接口,以便在需要時使用它們。Groovy中的接口
然而,我不知道如何在Groovy中實現它,我正處於學習階段。
下面的例子是從Groovy的文檔,
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
說這是我的接口之一,我想用一個稱爲B實現這個接口類..
應我只是說B爲X,在相關的控制器?
如何在域圖層中做到這一點?如果一個Z類是,讓我們說「可評論的」,我是否應該創建一個名爲Comment的域類,並說Z有許多評論?並使用控制器層的接口?
什麼是Groovy方式正確地做到這一點?我有點困惑,稍微澄清一下會很好。
在此先感謝
你確定我沒有看到任何像這樣的單一實例即使不知道implements關鍵字 – add9
所以就設計問題,如果我可以定義存在的Groovy一個類似於Java的界面,在Controller中實現它並在域中使用hasMany將是一件正確的事情? – add9
Groovy(或Grails)中使用接口幾乎沒有什麼好處,因爲您可以調用任何您想要的方法 - Groovy支持「鴨子打字」。一些插件使用它們,但更多的是沒有方法的「標記」接口,它們只是用於對類型進行分類,因此您可以檢查「instanceof MyInterface」並相應地採取行動。但除此之外,真的沒有理由使用接口。 –