標籤:

模塊化編程:Modules in Scala

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 庫是如何做到並行的?

TAG:Scala | 模塊化 |