Guiceを使用して接着しているいくつかのサービスを作成しました。たとえば、一部の抽象サービスAは、これらのインターフェイスによって記述されます
Response
Request
Service
そして、実装は次のように定義されます
ResponseImpl
RequestImpl
ServiceImpl
上記のすべての実装をサービスのモジュール内のインターフェイスにバインドする方がよいでしょうか、それともServiceクラス自体にバインドする方がよいでしょうか。
Guiceを使用して接着しているいくつかのサービスを作成しました。たとえば、一部の抽象サービスAは、これらのインターフェイスによって記述されます
Response
Request
Service
そして、実装は次のように定義されます
ResponseImpl
RequestImpl
ServiceImpl
上記のすべての実装をサービスのモジュール内のインターフェイスにバインドする方がよいでしょうか、それともServiceクラス自体にバインドする方がよいでしょうか。
コントラクト (インターフェース) と実装 (サービス impl) を分離する場合、通常はインターフェース (api-jar) のみをアプリケーション クライアントに渡します。したがって、実装されている Bean は表示されません (そして気にすることもありません)。
したがって、クライアント コードでインターフェイスをバインドします。
@Provides
public Service lookup() {
return .... whatever you need to do to access the Service
}