我有一個用MVC風格編寫的項目。查看這個樣子:使用隱式轉換替代適配器模式
trait BaseView {
def asComponent(): Component // each view can be displayed on screen
}
class ConcreteView extends Panel with BaseView {
def asComponent(): Component = this //ConcreteView is itself Component because it extends Panel
}
有可能改變這種代碼,使用隱式轉換從ConcreteView
到Component
?所以我可以使用ConcreteView
作爲Component
(由於隱式轉換)而不用調用ConcreteView#asComponent
方法?
爲什麼你甚至需要這樣的方法? 'val c:Component = someConcreteView'應該已經可以工作了。 –
要更好地瞭解何時以及何時不應使用適配器模式的隱式轉換,我建議您閱讀我的博客文章 - http://maxondev.com/adapter-design-pattern-scala-implicits/ – Maxim