基本的に、これら 2 つのアプローチを 1 つにまとめます。
Guice はパラメーターに基づいて異なるクラスのインスタンスを自動的に作成できますか?
例: ユーザー操作ハンドラーは、マップされたアシスト付きインジェクションで作成されます。つまり、それぞれにいくつかの静的バインディングと、要求から動的に作成される操作コンテキストが必要です。
class OpHandler { void handle()... }
class SendHandler extends OpHandler {
public SendHandler(DAL dal, SendContext context) { ... }
}
class ReceiveHandler extends OpHandler {
public ReceiveHandler(DAL dal, ReceiveContext context) { ... }
}
servlet:
onGet() {
op = resolveOp();
switch (op) {
SEND: create SendContext and pass it somehow to ioc.getInstance(SendHandler.class)
RECEIVE: create ReceiveContext and pass it somehow to ioc.getInstance(ReceiveHandler.class)
}
}