タグ

ブックマーク / blog.j5ik2o.me (3)

  • 結構大事なアグリゲートについてもう少し考えてみる - かとじゅんの技術日誌

    ちと、小難しい話になります。DDDの話なんで、 コードで学ぶドメイン駆動設計入門 〜アグリゲート編〜 - じゅんいち☆かとうの技術日誌 でも取り上げたアグリゲートに関する考察です。どうあるべきかはちょっと分かっていません。これを読んでこうしたらよいのでは?と思う方、意見歓迎です。インターネットって一方だと面白くないので議論したいですね。 アグリゲートってライフサイクルの境界を扱うための設計パターンです。ライフサイクルで思い出すのはリポジトリとファクトリ。この二つのオブジェクトが扱うのがアグリゲートです。ライフサイクルは至るところに出てくるので、結構大事で、設計の根幹に影響するオブジェクトのひとつではないかと思います。 アグリゲートは、内部のエンティティやバリューオブジェクトを集約している境界で、その境界はエンティティであり、ルートエンティティと呼ばれる。 グローバルな同一性を持つエンティテ

    結構大事なアグリゲートについてもう少し考えてみる - かとじゅんの技術日誌
    mitukiii
    mitukiii 2017/04/27
  • ドワンゴを退職しました - かとじゅんの技術日誌

    2/28日付けでドワンゴを退職しました。お世話になった会社なのでちゃんとお礼をいっておこうと思います。 初めてのコンシューマ向けウェブサービスでした。とてもよい経験をさせてもらいました。ありがとうございました。 一番大きいところは、ScalaとDDDを採用したサービスを開発してリリースしたってことですね。そのあたりの詳しい話は Scala Conference 2013 で聞けると思います*1。 Scalaで開発した感想ですが、よく話題になる習得コストはそれほどかからなかったように思います。ある程度先にScalaをやっている人がいれば、その人を軸に最初は命令型(var)で書いて言語仕様も部分的な理解でも問題なかったですね。慣れてきたらvalのコードに挑戦するとよいですね。valでコードが書けるとより関数型スタイルになるので、コードが理解しやすくなります。 こういう風に段階的に学習して、プロ

    ドワンゴを退職しました - かとじゅんの技術日誌
    mitukiii
    mitukiii 2013/03/01
  • 同期化不要なCopyOnWriteArrayListを使え - かとじゅんの技術日誌

    java.util.concurrent クラス CopyOnWriteArrayList どんなクラスかというと、リストの変更操作(addやremoveなど)で、ConcurrentModificationExceptionをスローしないことが保証されるArrayListクラスです。 たとえば、通常のArrayListでは、リストのイテレート中にそのリストの要素を削除した場合、ConcurrentModificationExceptionがスローされます。 List<Hoge> hogeList = new ArrayList<Hoge>(); for(Hoge h : hogeList){ System.out.println(h); hogeList.remove(h);// ConcurrentModificationException } こういうことが発生しないようにプログラマ

    同期化不要なCopyOnWriteArrayListを使え - かとじゅんの技術日誌
  • 1