2013-07-25 24 views
7

私はDDDの哲学から始めています。ここにあるレガシーシステムとの統合を実装したいと思います。インターネットでの私の研究では、いくつかの記事とサンプルを見つけましたが、私はその積分を正しく行う方法を理解するのはかなり難しいことを認めなければなりません。不正防止レイヤーを正しく実装する方法

この質問をする前に、ここで検索しましたが、結果は役に立たなかったので、ACLの実装サンプルを送ったり表示したりできるかどうかを知りたいと思います。ここで

私はこのアイテムを持っている:

  • レガシーシステム
  • レガシーデータベース(私はアクセスする必要がある)
  • DDDのアプローチ
を使用して作成される新しいアプリケーションを

最初のアイデアは、NHibernate全体でそのデータベースにアクセスし、必要なマッピングクラス、ドメインエンティティを作成し、ビジネスルールを実装することです。 Eric Evansによると、この戦略は[Bubble Context] [1]と呼ばれています。私はこの戦略が私の問題を解決すると思いますが、私は正しい方法でそれを行うためのサンプルが必要です。

誰かが私を助けることができますか?

+2

Eric Evansの書籍「ドメイン駆動型デザイン」を読んだことがありますか?aclについてのセクションがあります。 Aclは実際にはDDDでアダプタパターンを適用する例です。 – Hippoom

+1

私が個人的な経験から得た1つの提案は、価値がないかもしれないので、NHibernateを使ってレガシーデータベースにアクセスすることではありません。代わりに、レガシーシステムをACLでカプセル化してから、新しいアプリケーションでACLにアクセスできるサービスに注目してください。 – eulerfx

答えて

6

ACLはコードではなくパターンです。レガシーシステムに強い依存関係があるのか​​、現在のシステムに組み込まれた独立したコードをほしいと思っているとは言いませんでしたか?これで、あなたのACLがデータベースへのサービスになるか、レガシーシステムロジックにいくつかのラッピングを組み込むことになりますか?

あなたがALCに入れた実際の部分は、実装に大きく依存します。 あなたが求めているものの一般的なスキーマがあります: enter image description here

あなたはEric Evan's talkでより多くの情報を見つけることができます。

関連する問題