私は巨大なPart
ソースコードを持っている1つの場所で触れる必要があります。多くの原則に違反しているので、少なくとも修正しなければならなかった関数、つまり@UIEventTopic
ハンドラを抽出したいと思います。テストはありません。ここに追加したいので、既存の機能を破らないことがわかります。Eclipse RCPでパートからリスニングするUIイベントを分離する:正しく行う方法は?
私はこのから離れて移動したいと思います。このような何かに
public class MyPart {
...
@Inject
@Optional
public void event(@UIEventTopic(EVENT) EventParam p) {
...
}
}
:EclipseのDIで
public class MyPart {
...
}
public class MyEventHandler {
@Inject
@Optional
public void event(@UIEventTopic(EVENT) EventParam p, MyPart part) {
...
}
}
私は、ハンドラクラスのインスタンスを作成するための簡単な方法を参照してくださいません。複数のインスタンスを持つことができる
Part
であり、
@PostConstruct
の
IEclipseContext
にハンドラを追加すると、パーツとハンドラの間に循環依存関係が追加されるため、醜いです。
@Singleton
にすることはできません。 e4xmiファイルやその他の方法でインスタンス化を実行する方法はありますか?
私の現在の解決策は、純粋にユーティリティーBeanに機能を抽出し、データを返して部品に設定することですが、これもあまり良くありません(追加のヌルチェックやifsなどが必要です)。 )。私はあなたの質問を理解していることを全くわからない
こんにちはルディガー、うん、たくさんのthx。結局、私たちは同様の状況に陥りました。模倣はテストを少し膨らませてしまったので、その部分を渡すことを期待しています。だから私たちはむしろ結果オブジェクトを作成し、それをテストしています。洞察のためのThx。 – rlegendi