模塊化編程:Modules in Scala
05-15
Module system是用來組織代碼的機制,當工程複雜,開發者眾多的時候,好的Module system 能夠區分requirement 和 implementation。haskell有type class,ml 有module system,而scala 依靠trait可以支持類似ml 的module system,也叫cake pattern (這個重要的trick programming in scala 好像並沒有講到)
大致是這樣:
trait req1 {def method1={}}trait req2 {def method2={}}trait bundled extends req1 with req2//usageobject module_impl extends bundled //orval module_impl = new bundled {}
Using Scala traits as modules, or the 「Thin Cake」 Pattern
Exploring ML-Style Modular Programming in Scala
推薦閱讀:
※Data class 是好東西,Kotlin 就差一個 pattern matching 了
※Typelevel Summit/NeScala小感
※F# 是比 Scala 更好的語言嗎?
※akka-stream 替代actor的例子
※scala 庫是如何做到並行的?