プロジェクトから依存関係を削除し、コードを既存のAPIに移動することで、Javaプロジェクトの特定のGUIコードを再構築しようとしています。これをプロジェクトAと呼びましょう。基本的に同じ機能/インターフェースを必要とする別のプロジェクトがあり、それらの機能を他のプロジェクトで再利用したいと思います。
GoFのデザインパターンブックでファサードデザインパターンについて読んだことがありますが、ここで適用できるのではないかと思いました。
Facadeパターンについて読む前に、IMessagePasserというインターフェイスを作成しようとしました。これは、ProjectAMessagePasserなど、各クライアントによって実装されるコントラクトとして、プロジェクト固有のコードをインターフェイスメソッドに置き換えるだけです。これはファサードの半分を処理しているようで、GUIコードをAPIに移動できます。
次のステップは、ProjectAで同じことを行い、ProjectBMessagePasserとGUIコードの間で基本的に必要な通信を把握するために、ProjectAMessagePasser内にメソッドを追加してGUIの依存関係を置き換えることだと思います。
コードの大規模な再構築の経験はあまりありませんが、これはすべて合理的だと思いますか?最初にすべての変更を行わずに判断するのは難しいので、これを行うためのより良い方法があれば、一方通行で多くの時間を無駄にしたくありません。