by shigemk2

当面は技術的なことしか書かない

マグネットパターン on Scala(分かってない)

yuroyoro.hatenablog.com

spray.io

引数の値に応じて結果型が変わるメソッド Dependent method types というのがあって、引数の型に応じて結果型を変えたい場合はオーバーロードというテクニック(ここはJavaっぽいテクニック)があるけども、それだといろいろ問題があるので、代わりにMagnet Patternを使ってみてはどうか、ということをSprayのブログで紹介されている。

sealed trait CompletionMagnet {
  type Result
  def apply(): Result
}

traitとtypeの組み合わせで、Magnet Patternをやってみてはどうだろうか、という話。