Skip to content

Instantly share code, notes, and snippets.

@sullivan-
Created December 15, 2014 18:03
Show Gist options
  • Save sullivan-/af28145ed04465628774 to your computer and use it in GitHub Desktop.
Save sullivan-/af28145ed04465628774 to your computer and use it in GitHub Desktop.
trait TopLevelComponent {
val blogRepo: BlogRepo
val postRepo: PostRepo
val authRepo: AuthRepo
val blogServ: BlogServ
val postServ: PostServ
val authServ: AuthServ
}
trait TopLevelComponentImpl extends TopLevelComponent {
val authRepo: AuthRepo = new AuthRepoImpl()
val blogRepo: BlogRepo = new BlogRepoImpl(authRepo)
val postRepo: PostRepo = new PostRepoImpl(blogRepo, authRepo)
val authServ: AuthServ = new AuthServImpl(authRepo)
val blogServ: BlogServ = new BlogServImpl(blogRepo)
val postServ: PostServ = new PostServImpl(postRepo)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment