하위 패키지는 a.b.c.d 패키지를 의미하며 상위 패키지는 a.b.c를 의미하며 서로 관련하여 용어를 사용했습니다. 그러한 수준을 정의하는 용어가 있는지 확실하지 않습니다. 그러나 객체 지향 관점에서 a.b.c.anotherClass.anotherMetod()에서 a.b.c.d.aClass.aMethod()를 호출하는 것이 좋은지 알고 싶습니다. 필자의 견해로는 a.b.c는 패키지 a.b.c.d를 인식하지 못하도록 설계되어야합니다. 왜냐하면 a.b.c.d는보다 구체적인 a.b.c 형식을 나타내거나 논리적으로는 아래에 a.b.c입니다.상위 패키지의 클래스에서 하위 패키지의 API를 사용하는 것이 좋은 생각입니까?
0
A
답변
4
어떤 경우에도 패키지간에 종속성을 확인하는 것은 바람직하지 않습니다. 따라서 패키지 a.b.c에서 a.b.c.d까지 종속성이있는 경우 a.b.c.d에서 a.b.c 로의 종속성이 없어야합니다. 이것은 일반적으로 응용 프로그램의 높은 결합 및 가능하게는 계층화가 끊어진 상태를 나타내는 패키지 꼬임으로 알려져 있습니다. Sonar과 같은 도구를 사용하면 패키지 꼬임을 찾을 수 있습니다.
나는 일반적으로 저수준 패키지의 상위 수준 패키지와 구현에 내 API의 인터페이스를 넣습니다. 따라서 참조는 하위 패키지에서 상위 패키지로 이동합니다.
API가 하위 패키지에있는 경우 패키지를 재구성해야합니다.
+0
+1은 의존성 반전 원리에 주목했다. –
관련 문제
- 1. 그런 상황에서 파티션을 사용하는 것이 좋은 생각입니까?
- 2. 하와이를 데이터베이스 시간대로 사용하는 것이 좋은 생각입니까?
- 3. .Net을 상용 소프트웨어로 사용하는 것이 좋은 생각입니까?
- 4. ThreadLocal을 데이터의 컨텍스트로 사용하는 것이 좋은 생각입니까?
- 5. ViewModels을 집계하는 것이 좋은 생각입니까?
- 6. 패키지의 여러 버전 설치
- 7. 패키지의 클래스 정의
- 8. SSIS 패키지의 OnError는
- 9. RPM 패키지의 여러 그룹
- 10. Javadoc Ant를 사용하는 패키지의 단 하나의 클래스
- 11. Netbeans : 다른 패키지의 리소스에 액세스
- 12. R 패키지의 문제점 RecordLinkage
- 13. 설치 패키지의 파일을 읽습니다.
- 14. 설치된 패키지의 백업 방법
- 15. GWT에서 공유 패키지의 중요성
- 16. 패키지의 기본 ABI 불일치
- 17. Apex 패키지의 컴파일 오류
- 18. SSIS 패키지의 동적 쿼리
- 19. JAR과 패키지의 차이점은 무엇입니까?
- 20. 번들 패키지의 요점은 무엇입니까?
- 21. scala.tools.nsc 패키지의 목적은 무엇입니까?
- 22. deb 패키지의 라이센스 정보
- 23. 파이썬 패키지의 API. __init__.py?
- 24. 레코드 대신 연결 목록을 사용하는 것이 좋은 생각입니까?
- 25. java.rmi 패키지의 항아리를 찾는 방법
- 26. Android : 외부 패키지의 액세스 기능
- 27. Java에서 패키지의 여러 버전에 액세스
- 28. SSIS 패키지의 크기가 너무 큽니까?
- 29. 패키지의 모든 테스트를 실행할 때 JUnit java.lang.OutOfMemoryError
- 30. 지속적인 통합을 위해 HP Quality Center를 사용하는 것이 좋은 생각입니까?
나는 당신과 일치한다. –