2016-06-09 15 views
0

我一直在使用通常定義嵌套在特徵中的類的Play Framework應用程序。這是一個設計簡單的例子。嵌套在特質中的類:價值是什麼?

服務/ UsefulServiceComponent.scala

trait UsefulServiceComponent { 

    val usefulService: UsefulService 

    class UsefulService { 
    def doSomething(thing: Thing): OtherThing = { 
     // etc. 
    } 
    } 
} 

控制器/ TheController.scala

import services.UsefulServiceComponent 

object TheController extends Controller with UsefulServiceComponent { 

    val usefulService = new UsefulService 

    def findOtherThing(id: Long) = { 
    val thing = ??? // Get it from somewhere 
    usefulService.doSomething(thing) 
    } 

    // etc. 
} 

這是常見的模式?在UsefulServiceComponent內嵌套UsefulService可獲得什麼價值?

回答

0

範圍界定。你也可以裝飾/外觀/改編服務

+0

謝謝。你能否請進一步解釋或鏈接到範圍或裝飾等參考? – pharsicle