2012-01-16 1 views
2

私はシステムの中間層を段階的に書き直すための良いデザインパターンを探していますが、十分なシステムが置き換えられて古いデータベースを新しいものに置き換えることができるまでオリジナルのデータベースを維持しています。良いデザインパターンのシステム書き換え?

たとえば、表Aのレガシーシステムがあり、表Aに100個のプロパティがあるオブジェクトAにマップされている100個の色空間があるとします。実際には、オブジェクトAを論理的に5つのオブジェクトに分割することができます。理想的な世界では5つのテーブルに戻ることができますが、その間は元の100の列テーブルに保持する必要があります。私は、中間層のセクションをスワップアウトして、新しい5つのオブジェクトを入れ替える方法を探していますが、バックグラウンドでは同じデータベースにとどまります。

実際には古い中間層を交換するのではなく、新しいものを徐々に作成してゆきますが、しばらくの間は元のDBに保持する必要があります。

アイデア?

乾杯。

答えて

0

私は基礎データベースを置き換えるまでNHibernateを使ってマッピングを処理することに決めました。そのため、オブジェクトモデルは適切に正規化されていますし、NHibernateのマッピング機能を使用することは、新しいマッピングのためにそのマッピングを交換する前に、既存のテーブルに最初にマップします。

1

adapterfacadeのパターンは、あなたの行っていることとよく似ています。

2

一般的には、クライアントコードせずにデータベース「API」を維持するために、テーブルの設計変更をマスクするためにビューを使用すると思い

注変更:オブジェクトとテーブルがあるない同じ事を...