views:

113

answers:

1

The classical strongly typed MVP pattern looks like this in Scala:

trait IView { }

trait Presenter[View <: IView] {  // or have it as an abstract type member
  val view : View
}

case class View1(...) extends IView { ... }

case object Presenter1 extends Presenter[View1] { 
  val view = View1(...)
}

Now, I wonder if there is any nice way to improve on it which I am missing...

A: 

Not quite sure what you want to improve on. Maybe it would be clearer with the model included as well...

pdbartlett