제 3 자 라이브러리에서 Interface (이 인터페이스를 구현하는 객체를 얻는다는 의미입니다)를 제공하며, Config
이라고 부르 자. 내 응용 프로그램에서는 제 3 자 라이브러리에 대한 의존성을 피하기 위해이 인터페이스가 제공하는 모든 기능이 필요합니다. MyConfig
을 사용하여 Config
을 어떻게 포장하고 내 응용 프로그램에서 동일한 객체를 사용할 수 있습니까? 게다가 제 3 자 라이브러리를 포장하려고하는 올바른 접근법입니까?종속성을 피하기 위해 타사 인터페이스 랩
0
A
답변
1
컴파일 타임 의존성을 피하기 위해 제 3 자 라이브러리를 래핑 할 수 있지만 런타임에 제 3 자 라이브러리가 있어야합니다. 그것을 구현 다음은 Config
인터페이스와 동일한 인터페이스를 정의 할 수 있습니다, 물론
public class DefaultMyConfig {
private Config delegate;
public MyConfig(Config delegate) {
this.delegate = delegate;
}
public String foo() {
return delegate.foo();
}
}
및 :
가장 쉬운 방법은 간단하게 방법을 위임해야하는 것 (IDE에서 자동으로 다음을 만들 수 있습니다) DefaultMyConfig
또는 수업에만 머물 수 있습니다.
관련 문제
- 1. 순환 종속성을 피하기 위해 .NET에서 프로젝트/클래스를 정렬해야합니까
- 2. 헤더 종속성을 피하기 위해 extern을 사용하는 것이 좋습니다?
- 3. 당신이 바인딩 WPF에서 변환기를 피하기 위해 구현할 수있는 인터페이스 세트가
- 4. 타사 순환 DLL 종속성을 해결 하시겠습니까?
- 5. 중복을 피하기 위해 자식 서브 모듈을 사용할 때 타사 .NET DLL을 어디에 두어야합니까?
- 6. 랩
- 7. DTO, 어떻게 그들을 피하기 위해?
- 8. System.Web 참조를 피하기 위해 반사
- 9. 루프를 피하기 위해 벡터화 함수
- 10. 이중 게시를 피하기 위해 리디렉션됩니까?
- 11. JAXB 랩 랩 모음
- 12. 코드 반복을 피하기 위해 Zend_Validate 좋은 전략
- 13. WPF 멀티 스레딩. 타사 흐름의 인터페이스 변경
- 14. UILabel 워드 랩/문자 랩
- 15. 타사 DLL에서 ASP.NET MVC 프로젝트의 종속성을 찾을 수 없습니다.
- 16. maven 간단한 명령 줄을 사용하여 타사 종속성을 설치 및 배포하십시오.
- 17. nexus/maven을 사용하여 타사 라이브러리에 종속성을 추가하는 방법
- 18. PLAY 프레임 워크에서 종속성을 가진 타사 라이브러리를 선언하는 방법
- 19. 타사 종속성을 추상화하는 방법 (종속성 삽입)은 어떻게 처리합니까?
- 20. commandLink 작업을 위해 별도의 함수 피하기
- 21. linq 오류를 피하기 위해 "EnforceConstraints"하는 방법?
- 22. 플러그인 충돌을 피하기 위해 jQuery noconflict를 사용합니까?
- 23. 링크 오류를 피하기 위해 #includes의 순서
- 24. 캐스팅을 피하기 위해 형 (Typed) DefaultListModel
- 25. 의존성 충돌을 피하기 위해 cabal-dev 사용
- 26. 선택을 피하기 위해 AR 객체 Memoizing
- 27. 사용자 지정 컨트롤을 피하기 위해 연결된 속성
- 28. 충돌을 피하기 위해 중도에 NSXML 다운로드를 중단하십시오
- 29. 중복 코드를 피하기 위해 리 팩터링
- 30. 해킹을 피하기 위해 ASP 페이지를 코딩하는 것
라이브러리에서 개체를 계속 가져 오는 경우 어떻게 해당 라이브러리에 대한 종속성을 피할 수 있습니까? – corsiKa
자신의 프레임 워크로 생각하고 새로운 애플 리케이션에서 그것을 사용하려면, 내 프레임 워크가 도서관에 묶여 있지만 내 애플 리케이션이 아니길 바래. – davidmontoyago