この記事を読んでなるほどな〜と思ったので記事にしてみる。 medium.com 依存性逆転とは 雑にいうと実装ではなくインターフェイスに依存させ、モジュール間の依存関係を疎結合にする手法。英語ではDependency-Inversion Principleと呼ばれ、頭文字をとってDIPとすることが多い。 www.martinfowler.com ElmではDIPをどう表現するか 一般的な静的型付け言語ではインターフェイス相当の言語機能が提供されている。たとえばScalaだとtraitだし、Javaだとinterfaceあたり。しかしElmにはそれらがない。 そこで、Elmでは型エイリアスを使ってインターフェイスっぽい表現をする type alias Score = Int type alias PersistScore msg = Score -> Cmd msg 上のPersistSco