2013-01-01から1年間の記事一覧
みなさん、こんばんわ。 会社のアドベントカレンダーで、Scalaコードでわかった気になるDDDというブログを書いたのですが、最近、老害を防ぐためにDCIについても勉強中です。 DCIアーキテクチャ - Trygve Reenskaug and James O. Coplien とりあえず、これを…
(Scala前提の記事なので注意してください) たとえばこんなモデルがあって、相互に依存しているケースを考えよう。 注意:説明を簡単にするために、varを利用しています。 従業員 class Employee( val id: Long, val name: String, var department: Option[Dep…
昨日もDDDの話題を少ししたので、シナリオ→モデル→コードのサイクルについて身近な例を踏まえてネタを提供できないかと思った。何でもいいんだけど、鍼とか整体とかマッサージとか一度は行った経験あると思うので、そのドメインで考えてみるか。
最近、ドメイン駆動設計ってどうやって実践すればいいかなーという質問をよくされるので、この記事が満額回答にはならないと思いますが、書いてみたいと思います。 シンプルな問題はトランザクションスクリプト、いわゆる手続き型で対処できます。問題が小さ…
trait 便利ですね! メソッド名が衝突する。 override を指定してやると動く。 scala> (new M with N { override def m = super[N].m }).m() hi @rosylilly Scala の Trait trait Mとtrait Nは継承関係もないので別の型として識別されているから仕方ないんだ…
2/28日付けでドワンゴを退職しました。お世話になった会社なのでちゃんとお礼をいっておこうと思います。 初めてのコンシューマ向けウェブサービスでした。とてもよい経験をさせてもらいました。ありがとうございました。 一番大きいところは、ScalaとDDDを…
今日は、カリー化と関数の部分適用の話題。 Haskellの視座からScalaのカリー化と部分適用を見てみる まず、Haskellでの関数のカリー化と部分適用についておさらい。 例えば、引数を合計する関数 mysum があるとして、 mysum :: Num a => a -> a -> a -> a my…