この例は非常に不自然なので、ご容赦ください。
私は 2 つの Java クラス と を持っていますChair
がDesk
、これらはサードパーティからのものです (つまり、変更できません)。
public class Chair {
//...
}
public class Desk {
//...
}
これらのクラスごとにdoWork()
、 に依存するメソッド を実行する必要がありますDatabaseService
。OfficeFurniture
私のアプローチは、各クラスのインターフェースを実装するアダプターを作成することです。
public class ChairAdapter implements OfficeFurniture {
//...
}
public class DeskAdapter implements OfficeFurniture {
//...
}
public interface OfficeFurniture {
public doWork(DatabaseService databaseService);
}
最後に、質問:呼び出しに渡す方が良いですか、それともコンストラクターに渡してDatabaseService
クラスフィールドにインスタンスを格納する方が良いですか? または、別のより良いアプローチがありますか?doWork()
ChairAdapter
DeskAdapter