2

Linq2Sql データ アクセス レイヤーの使用を開始しました。これには「God Class」部分クラスがあり、そのもう 1 つの部分は生成された EntitySet です。この部分クラスは、Json へのシリアル化、データベース呼び出しやさまざまなユーティリティ関数の作成、「部分化」するモデルと対話するための多数の便利なプロパティとメソッドの定義など、あらゆる種類のことを行います。

これの副作用として、シリアル化が不可能になり、「God Class」アンチパターンに関する他のすべての問題が発生します。

これらのクラスを分割して、懸念事項をより適切に分離するための適切な設計パターンは何ですか? このクラスはアプリケーション全体に散りばめられているため、リファクタリングの容易さに重点を置きたいと思います。

4

2 に答える 2

2

レガシー コードのほとんどのリファクタリングと同様に、最初は古い機能のみに委譲する中間アダプター クラス (アダプター パターンを参照) を導入することをお勧めします。その後、新しいコードが導入されると、ラッパーは作業を新しいコードに委任し始めることができます。最終的に、ラッパーを完全に削除できるようになるまで。

于 2012-05-24T13:47:51.713 に答える
0

また、クラスのさまざまな部分の機能を発見/検証するために、できる限りテスト (ユニットまたは統合) を作成する必要があります。フォールバックする一連の回帰テストがあるためです。

于 2012-05-24T13:48:11.640 に答える