2010-08-15から1日間の記事一覧
Scala de Design Patternのまとめ。Gang of Fourの23パターンとそれ以外のデザインパターンが少しある。結構ふざけた例とか分かりにくい例が多いけどそれはご愛嬌。 Scalaの言語自体の機能やライブラリが強力なので、ここで挙げたやり方以外にもっと色々なや…
Façadeパターン。 関連する手続きを1つのクラスに集約して使いやすいインターフェイスを提供する。 いい例が思い浮かばなかった・・package designpattern.gof4.facadeobject Facade { def doStuff { ModuleA.methodA ModuleB.methodB } }object ModuleA { d…
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 {…
Mementoパターン。 GoF23パターンのうち、パターン名がラテン語なのはこれだけ。 擬似乱数発生装置を作ってみた。 16bitの乱数を生成する。 アルゴリズムは混合合同法。 Seed値固定の場合はn番目に得られる数値はいつも同じ。 package designpattern.memento…
Visitorパターン。 Accepterをパターンマッチングで処理できるので、 Acceptor毎にvisitメソッドを定義しなくて良い。package designpattern.visitortrait Acceptor { def accept(visitor: Visitor) = visitor.visit(this) }case class AcceptorImpl1 extend…