古いレガシー プレゼンテーション ライブラリが何年にもわたって維持されており、性急な修正のプロセスと適切なアーキテクチャ上の監視の欠如によって、ますます多くのビジネス ロジックがコード化されているという架空の状況を考えてみてください。あるいは、アセンブリの境界によってプレゼンテーションから分離されていないビジネス クラスまたは名前空間を考えてみてください。したがって、参照を強制的に追加することなく System.Windows.Forms のようなものを参照できます (単純な using 句よりもはるかに冷静なアクションです)。 .
このような状況では、この UI コードで使用されるビジネス コードが最終的に再利用のために呼び出されることは想像に難くありません。これを可能にするために2つのレイヤーをリファクタリングする良い方法は何ですか?
私は設計パターンに大まかに精通しています - とにかく少なくとも原則として。しかし、私は実務経験が豊富ではないので、直感に自信がありません。私はこれに Strategy パターンを使用する道を歩み始めました。アイデアは、ビジネス ロジックが UI コンポーネントを呼び出してユーザーに質問し、データを収集する場所を特定し、それらを一連のインターフェイスにカプセル化することです。そのインターフェイスの各メソッドには、元のワークフローの UI 指向のコードが含まれ、UI クラスはそのインターフェイスを実装します。
問題のビジネス ロジックを再利用する新しいコードもこのインターフェイスを実装しますが、UI コンポーネントによって最初に回答された質問に対する新しいウィンドウ、または場合によってはプレハブまたはパラメーター化された回答のいずれかを置き換えます。このようにして、いくつかのメソッドに渡されたやや厄介なインターフェイス パラメーターを使用しても、biz ロジックを実際のライブラリとして扱うことができます。
これはまともなアプローチですか?これについてどうすればよいですか?私はあなたの集合的なインターネットの知恵に従います。
ありがとう!