2010-11-26 14 views
1

私は似たようないくつかの統合を行ってきました。 1つは、あるシステムのデータベースから製品データを取り出し、別のシステムデータベースで動作するように製品データをフォーマットし、そのシステムにその製品をインポートすることでした。もう1つは、ユーザーを1つのシステムデータベースから取り出し、フォーマットして別のシステムにインポートすることでした。このためのデザインパターンがあるように思えますが、それがあれば何でしょうか?デザインパターンを見つける

+1

これをデザインパターンと呼ぶかどうかはわかりません。 「クリーン、コンフォーム、デリバリー」CCDまたは「抽出、変換、ロード」ETLは私が使用する用語です。 –

答えて

2

このセネリオの の2つのデザインパターンが考えられます。

Adapterパターン: あなたが一方向communictionに

理由を持っているしたい場合は:あなたは2つのシステムSystem1DB System2DBを持っていると 一方向のみの通信

  Your Adapter 
Sytem1DB --------------> System2DB 

Mediatorパターンがあります:は homogeniusシステムで双方向通信をしたい場合

  Your Mediator 
Sytem1DB <----------------> System2DB 
0

ファクトリパターンを使用して、製品リストとユーザリストを作成できます。

0

私にとっては、あるDBから別のDBへのデータ変換について話しています。

ドライバ設計パターンは、データベース実装からプログラムを抽象化するために常に使用されます。

次に、あなたはあなたの "変換パイプ"を持っています:変換のオリエンテーショングラフ。主にジェネリックプログラミングでできることです。各変換は、IN_T型の入力データを待機し、OUT_T型の異なる出力に変換します。

ここで、ビジターデザインパターンがグラフを訪問して変換を実行できるようになりました。グラフノードのプロパティを変更するためのデコレータデザインパターン。変換の状態を表現するための状態設計パターン。リスナーのデザインパターンは、変換の進行状況の更新を提供します。