なんじゃくにっき

プログラミングの話題中心。

2010-08-15から1日間の記事一覧

Scala de Design Patternまとめ

Scala de Design Patternのまとめ。Gang of Fourの23パターンとそれ以外のデザインパターンが少しある。結構ふざけた例とか分かりにくい例が多いけどそれはご愛嬌。 Scalaの言語自体の機能やライブラリが強力なので、ここで挙げたやり方以外にもっと色々なや…

Scala de Design Pattern: Façade

Façadeパターン。 関連する手続きを1つのクラスに集約して使いやすいインターフェイスを提供する。 いい例が思い浮かばなかった・・package designpattern.gof4.facadeobject Facade { def doStuff { ModuleA.methodA ModuleB.methodB } }object ModuleA { d…

Scala de Design Pattern: Builder

Builderパターン。package designpattern.builderimport scala.Enumerationsealed trait Animal { val value: String } object Lion extends Animal {val value = "Lion"} object Eagle extends Animal {val value = "Eagle"} object Human extends Animal {…

Scala de Design Pattern: Memento

Mementoパターン。 GoF23パターンのうち、パターン名がラテン語なのはこれだけ。 擬似乱数発生装置を作ってみた。 16bitの乱数を生成する。 アルゴリズムは混合合同法。 Seed値固定の場合はn番目に得られる数値はいつも同じ。 package designpattern.memento…

Scala de Design Pattern: Visitor

Visitorパターン。 Accepterをパターンマッチングで処理できるので、 Acceptor毎にvisitメソッドを定義しなくて良い。package designpattern.visitortrait Acceptor { def accept(visitor: Visitor) = visitor.visit(this) }case class AcceptorImpl1 extend…