는 응용 프로그램 클래스입니다 : 우리 만 Application
의 인스턴스가있을 것이라는 점을 보장, 우리는 RxBleClient
의 한 인스턴스를 원하는 때문에RxBleClient를 비 정적으로 만드는 점은 무엇입니까? RxAndroidBle 샘플 응용 프로그램에서
public class SampleApplication extends Application
private RxBleClient rxBleClient;
/**
* In practise you will use some kind of dependency injection pattern.
*/
public static RxBleClient getRxBleClient(Context context) {
SampleApplication application = (SampleApplication) context.getApplicationContext();
return application.rxBleClient;
}
@Override
public void onCreate() {
super.onCreate();
rxBleClient = RxBleClient.create(this);
RxBleClient.setLogLevel(RxBleLog.DEBUG);
}
}
:
public class SampleApplication extends Application {
private static RxBleClient rxBleClient;
public static RxBleClient getRxBleClient() {
return rxBleClient;
}
@Override
public void onCreate() {
super.onCreate();
rxBleClient = RxBleClient.create(this);
RxBleClient.setLogLevel(RxBleLog.DEBUG);
}
}
더 복잡한 접근 방식의 이점은 무엇입니까? "어떤 종류의 의존성 주입 패턴"이 의미하는 것은 무엇입니까? 예를 볼 수 있을까요? 다시 이점은 무엇입니까?
첫 번째 코드는 두 번째 코드보다 더 테스트 가능합니다 –
왜 코드를 테스트 할 수 있습니까? 어떤 종류의 모의 RxBleClient를 주입하면됩니까? –
예, 종류 –