私は非常に大きく肥大したクラスを持っています。私はそれを別々のファイルに分割したいのですが、そのクラスを使用する既存のプロジェクトと互換性があり、ユーザーには完全に透過的でなければなりません。
特に私は自分自身のImageMatrix
クラスを持っており、単項関数のトン、スカラーのバイナリ関数のトン、別のイメージのバイナリ関数のトンなどを定義します。クラスをきれいに保つために、私はオペレータの各クラスを別々のファイルに入れることを望みます。
これらのメソッドをファイルにカット/ペーストしてソースに含める方法はありますか?
だから私は、私はまだこれを行うことができますことを願ったが、方法は実際には別のファイルに存在します、
ImageMatrix img = new ImageMatrix(800, 600, 3);
img.clear(0.5f, 0.0f, 0,0f);
img.addSelf(anotherImg);
img.normalize();
img.abs();
img.addSelf(0.5);
実装は非常にパフォーマンスが最適化されているので、それぞれの方法は、コードの周りに15〜30行ですそのようなものはBufferedimageや単純なint []で達成することは不可能です。同様の方法をまとめる主な理由は、コードの重複が多いことです。関数を追加したり、エラーチェックなどのグローバル動作を変更したりすると、簡単に一貫性を保つことができます。
これは最善の方法のように聞こえる。 ImageMatrixから呼び出された静的メソッドを使用して外部クラスを作成します。 –