2

プロジェクトから依存関係を削除し、コードを既存のAPIに移動することで、Javaプロジェクトの特定のGUIコードを再構築しようとしています。これをプロジェクトAと呼びましょう。基本的に同じ機能/インターフェースを必要とする別のプロジェクトがあり、それらの機能を他のプロジェクトで再利用したいと思います。

GoFのデザインパターンブックでファサードデザインパターンについて読んだことがありますが、ここで適用できるのではないかと思いました。

Facadeパターンについて読む前に、IMessagePasserというインターフェイスを作成しようとしました。これは、ProjectAMessagePasserなど、各クライアントによって実装されるコントラクトとして、プロジェクト固有のコードをインターフェイスメソッドに置き換えるだけです。これはファサードの半分を処理しているようで、GUIコードをAPIに移動できます。

次のステップは、ProjectAで同じことを行い、ProjectBMessagePasserとGUIコードの間で基本的に必要な通信を把握するために、ProjectAMessagePasser内にメソッドを追加してGUIの依存関係を置き換えることだと思います。

コードの大規模な再構築の経験はあまりありませんが、これはすべて合理的だと思いますか?最初にすべての変更を行わずに判断するのは難しいので、これを行うためのより良い方法があれば、一方通行で多くの時間を無駄にしたくありません。

4

1 に答える 1

2

管理しやすくするために、アプリの機能領域向けのサービスを作成し、そこでリファクタリングに集中することをお勧めします。作業を進めながら、機能を検証するための単体テストを作成します。サービスの機能を取得したら、それらのサービスの周囲にファサードを作成できます。

つまり、アプリ全体を一度にリファクタリングするよりも、分割統治の方が簡単な場合があります。

于 2012-01-13T19:17:02.717 に答える