想定:
次のようにセットアップできる Java/Android モジュラー ライブラリがあります。
package com.mycorp.app.sample.integration;
public class ModuleConnector {
public static final LogcatLogger LOGCAT_LOGGER
= new LogcatLoggerImpl.Configurator("TEST")
.verbosity(LogcatLoggerImpl.Verbosity.VERBOSE)
.replace("ApiDesign", "Design")
.replace("Sample", "Sample")
.createInstance();
public static final JsonWebservice GET_INFORMATION_WEBSERVICE
= new JsonWebserviceImpl.Configurator()
.logger(LOGCAT_LOGGER)
.enableCaching(true)
.endpoint("http://test.com")
.createInstance();
}
問題:
現在の依存関係図が表示されます:
このコードを追加すると、以下が表示されます
package com.mycorp.app.sample.global;
public class G extends Application {
static {
ModuleConnector.GET_INFORMATION_WEBSERVICE.request(null);
}
}
マークされた依存関係を防ぎたい:
ノート:
ModuleConnector
com.mycorp.app.sample.integration
パッケージに入っていますcom.mycorp.app.sample.global
すべてのクライアント側パッケージにすることができます。com.mycorp.app.sample.integration
モジュール api にアクセスするために使用したい- 私は多くの API メソッドを持っているので、
コマンド/戦略パターンからは使用しないことを好みます