2010-04-26 37 views
5

Các mô hình MVP mạnh mẽ gõ cổ điển trông như thế này trong Scala:Cải thiện MVP trong 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(...) 
} 

Bây giờ, tôi tự hỏi, nếu có bất kỳ cách tốt đẹp để cải thiện nó mà tôi đang thiếu ...

+1

Trong khi một chủ đề thú vị, đây không phải là một SO câu hỏi hay. Nó rất rộng, và rất khó có bất kỳ câu trả lời thực tế, khách quan nào. – jpswain

+1

@ orange80 Tôi đã thêm tiền thưởng trong trường hợp mọi người sẽ tìm thấy giải pháp tốt hơn như cách đối phó với sự phụ thuộc vào Chế độ xem để trình bày theo chu kỳ. Mặc dù vậy, tốt hơn nên sử dụng cộng đồng wiki. –

+0

@ Jay Jayxcela: Thật không may, tôi không thể biến nó thành một cộng đồng wiki ... –

Trả lời

2

Điều tuyệt vời về mẫu MVP là nó làm cho đơn vị mã UI của bạn có thể kiểm chứng được.

Tôi khuyên bạn nên tránh hiển thị chế độ xem trong trình bày và chuyển nó tới hàm tạo. Điều đó sẽ cho phép bạn chỉ cần thử ra View và kiểm tra đơn vị Presenter.

Replace bạn mã

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

với

case object Presenter1(val view: View1) extends Presenter[View1] { 
    ... 
} 
Các vấn đề liên quan