タグ

2011年7月17日のブックマーク (2件)

  • コードで学ぶドメイン駆動設計入門 〜エンティティとバリューオブジェクト編〜 - かとじゅんの技術日誌

    先日、DevLOVEで発表した「コードで学ぶドメイン駆動設計入門」ですが、入門としながらも難しかったかもしれません。モデリングの話は難しい方の話題なので仕方ないのですが、できるだけわかりやすく補足するブログを書いてみたいと思います。 まず、レイヤードアーキテクチャの話ですが、こちらのスライドを参照してください。 DEVLOVE HangarFlight で話したスライド&ソースコード - じゅんいち☆かとうの技術日誌 平たく言うと、そのアプリケーションが解決する問題の領域がドメインです。ドメインとそれ以外のものをごっちゃにしないようにしたのが、ドメイン駆動設計だと考えればよいと思います。 一般的に業務システムでは、対象業務がドメインに成り得ますので、ドメインは業務に準えて語られることが多いと思います。ドメインに登場する概念をユビキタス言語*1として定義し、モデルに落としこむというのが設計の

    コードで学ぶドメイン駆動設計入門 〜エンティティとバリューオブジェクト編〜 - かとじゅんの技術日誌
  • scalaでは、なぜインクリメントやデクリメントができないのか? - xuwei-k's blog

    javaでは、以下のように int a = 0; int b = ++a; System.out.print(a); // 1 が表示される System.out.print(b); // bも1 ++というインクリメントするための演算子があります。 しかしscalaの場合 var a = 0 // a ++ これはダメ val b = a += 1 print(a) // 1 が表示される print(b) // b はUnit というようにしないといけません。 この違いについてのおなはし(・ω・)ノ これをちゃんと解説しようとすると、かなりややこしいんですが、それなりの理由があります。 すごく細かいところだけど、Javaとの違いで初心者が戸惑いやすいところだと思います。 Javaの言語仕様書の15.14 〜 15.18あたりだとおもいますが、++、+=、--、-=、などは、すべてOpe

    scalaでは、なぜインクリメントやデクリメントができないのか? - xuwei-k's blog
    kamatama_41
    kamatama_41 2011/07/17
    言語仕様を理解する、コレ大事