タグ

ブックマーク / kenro.biz (2)

  • Spring RooによるDDDの実践(2) | かサハラノリオ |泳ぎ|漕ぎ|走り|ながら考える

    「Spring RooによるDDDの実践」勉強会の第2回を実施した。今回のテーマは 「Spring Rooのアーキテクチャ」。 Rooのアーキテクチャのハイライトは、ITDとスカフォルディング。 スクリプト言語であれば、スカフォルドとして生成されたコードと、 ユーザー定義のコードは、mix-inを使って結合する。あるいは、C#であれば、言語仕様として「パーシャルクラス」という仕掛けがある。Visual Studioでは、フォームデザイナなどが生成したコードと、ユーザーが書いたイベントハンドラを分離するためにパーシャルクラスを使っている。Visual Studioが生成したコードは別ファイルになっていて、ユーザーには見せないというわけ。 Javaには、自動生成コードとユーザー定義コードを、物理的に別ファイルとして分離する方法がない。そこで、RooはAspectJのIDTの力を借りることにした

    nobeans
    nobeans 2011/06/13
  • Spring Rooのレイヤアーキテクチャ | かサハラノリオ |泳ぎ|漕ぎ|走り|ながら考える

    先日の記事を詳細化していこうと思う。Spring Rooは、エンティティ層-Web層というシンプルな2層構造になっている。 レイヤを多層化し、責務を明確化することで、コードの可読性や変更性は向上する。なぜなら、どこに何が書いてあるか探しやすくなるし、DRY原則を徹底することができるから。 しかし、レイヤが多層になるほど、アーキテクチャは複雑になり、生産性は落ちる。一例としては、ドメインモデルの各レイヤへの射影が必要になることが挙げられる。永続化のレイヤでは、JPAやHibernateの永続化オブジェクト、プレゼンテーション層では、入力や表示しやすい形式(プレゼンテーションモデルと呼ばれることもある)での表現。サービス層ではこの2つを仲介するためのDTO。レイヤを行き来するためには、来的には同じエンティティでありながら、表現形式の異なるこれらのオブジェクトの「詰め替え」がいちいち必要になる

  • 1