タグ

ブックマーク / masuda220.jugem.jp (4)

  • ドメインモデル駆動開発の実践 | システム設計日記

    今のプロジェクト「ドメインモデル駆動開発」に、こだわって、やっている。 ドメインモデル駆動開発(DMDD:Domain Model Driven Development) は、モデリングや設計よりも、実際のコードの書き方が、主要な関心事。 やり方 具体的、かつ、簡単。 基のアイデアは、Eclipse プロジェクトを、レイヤごとに、別々に作成すること。 (1)まず、ドメイン層のプロジェクトを作って、ドメインのクラス群を作る (2)次に、データベースを定義する (3)次に、データアクセス層の プロジェクトを別に作って、ドメイン層プロジェクトを参照する。 O-R マッピング ( SQL Map ) の仕組みを使って、ドメイン層で宣言した、 Repository インタフェースを、実装する。 (4)次に、サービス層のプロジェクトを、さらに別に作る。 このプロジェクトも、ドメイン層プロジェクトを参

    twainy
    twainy 2010/09/21
  • 業務のモデリング 【プロトコルモデリング】 | システム設計日記

    採用支援システムを、RDRA(リレーションシップ駆動要件分析) のやり方で、実践中。 RDRA の基のやり方 1.システムの価値を関係者で共有する 2.システムの外部環境(利用者の使い方や関連システムとの通信要求)を把握する 3.システム境界(画面、API,メールやファイル転送などの通信)インタフェース定義 4.システム(ドメインモデル、データモデル、機能モデルなど) の4ステップ。 ウォータフォール(後戻りしない)式ではなく、先に進みながら、前のステップとの整合性を検証し、必要であれば、前のステップに立ち戻って、モデルの改善、を継続的に行う。 私たちの場合は、システム規模が小さく、関係者も少ないので、このまま設計・実装まで、ICONIX プロセスを使ってなだれ込む。 システム価値を明らかにする最初の段階で、主要な概念を洗い出した、概念モデルを作って、それを、そのままドメインクラスの実装

    twainy
    twainy 2010/07/17
  • たかが URI の設計、されど URI の設計 | システム設計日記

    関心事オブジェクトの「現在の状態」を利用者に提供するパターンのひとつが、REST スタイルの GET 方式。 GET /リソースの識別名(URI) をサーバーにリクエストすると、「現在の状態 ( current state )」の表現 ( Representation ) がかえってくる、というやつですね。 ドメインモデリングのパターンとして、私は、「リソース」を「関心事オブジェクト」、「URI」を「識別キー」という言葉にしている。 実際に、HTTP を使うかどうかは別として、 ◎ リソース(=関心事オブジェクト)の ◎ URI (=識別キー) を指定して ◎ 現在の状態(current state)を入手する というのは、エンタープライズアプリケーションの基価値のひとつですね。 「関心のあることを知る」という業務の基ニーズ。 このニーズに応えるための GET 方式のモデリング・設計は

    twainy
    twainy 2010/05/20
  • 分析パターン : これだけは覚えておこう | システム設計日記

    DDD 11章 Applying Analysis Patterns (分析パターンの応用)では、例として、ファウラーのアナリシスパターンの6章「在庫管理と会計」をヒントに、モデルを改良する話しが載っている。 エンタープライズアプリケーションでは、「在庫管理(企業資産の管理)」は、いつも重要な関心事だし、事実を記録するときに「会計」の考え方とやり方は、基中の基。 でも、正直言って、ソフトウェア技術者がファウラーの「アナリシスパターン」の6章を読んで、「なるほどそうか」と、ピンとくるとは思えません。 もうちょっと、単純な原則があると思っている。 私が、自分で考えるときとか、若手の技術者に説明するときに、よく使っている、単純な分析パターンを4つ紹介したいと思います。 ・記録は不変 ・予実の管理 ・連絡 ・情報の集約 この4つをちゃんとやってくれるソフトウェアは、利用者にとって、役に立つし、

    twainy
    twainy 2009/12/25
  • 1