2009-04-07 3 views
2

Java 응용 프로그램에 많은 프레임 워크 의존성을 추가하면 시작시 모든 라이브러리를 사전로드하거나 실제로 필요한 경우에만 필요한 클래스 만로드하는 게으른 동작이므로 (예 : import 진술 또는 나중에)?Java 응용 프로그램에 많은 프레임 워크를 추가하면 부작용이 있습니까?

많은 종속성을 추가해도 Java 개발자가 알아야 할 다른 부작용이있을 수 있습니까?

답변

3

클래스에만 필요합니다 여러 프레임 워크

두통 (import 등을 통해 다른 클래스에 의해 참조)로로드 당신이 그들의 공유 종속성을 관리해야한다는 것입니다됩니다. 예 : 프레임 워크 A에는 로깅 프레임 워크 X가 필요하지만 프레임 워크 B에는 로깅 프레임 워크 Y가 필요합니다.

이러한 문제는 극복 할 수 없지만 추적해야합니다. 프레임 워크 A를 업그레이드하면 파급 효과가 발생할 수 있습니다. 파급 효과는 해당 종속성을 업데이트해야합니다. 그러면 다른 프레임 워크 구성 요소 업데이트가 필요합니다.

프레임 워크 A는 업그레이드되고 Log4J에 대한 업데이트가 필요합니다. 그런 다음 Framework B를 새 Log4J와 호환되는 버전으로 업데이트해야합니다.

프레임 워크 요구 사항이 여러 개있는 경우 실제로는 해당 응용 프로그램을 다른 배포품/서비스 등에 따라 세분화해야한다는 것을 나타낼 수 있습니다.

+0

가장 힘든 것은 버전 의존성 일 수 있습니다. 프레임 워크는 다른 프레임 워크/libs에 의존 할뿐만 아니라 때로는 해당 deps의 특정 버전을 사용합니다. –

+0

그게 내가 (또는하려고하는)거야. 프레임 워크 A와 파급 효과에 대한 주석을 주목하십시오. 그러나 나는 이것을 강조하기 위해 편집 할 것이다. –

+0

지금까지 간접적 인 의존성 측면에서 이것을 보지 않았습니다. 전 소프트웨어 개발 분야의 리더였던 저는 누군가가 새로운 의존성을 도입했을 때 항상 극도로 비판적이었습니다. Maven을 사용하면 많은 도움이됩니다. 감사. –

1

개념적으로 많은 프레임 워크를 추가 할 때 개념적으로 코드베이스에 많은 양의 중복 기능을 추가 할 것입니다. 이 과부하 또한 상당한 골칫거리가 될 수 있습니다. 다른 사람이 분명한 이유없이 다른 기능을 사용하는 다른 프레임 워크를 사용하게됩니다. 지저분해질 수 있습니다.

0

제 3 자 항아리에 대한 의존성이 많아서 분산 응용 프로그램의 크기가 걱정된다면 대개 응용 프로그램의 크기를 현저히 줄이는 난독 화/축소가 가능합니다. 나는 과거에 Pro Guard을 사용했고 난독 화 클래스/메소드/필드 등을 제거하여 종속성의 크기를 줄였습니다.

0

기술적으로 Java에서 하나 이상의 프레임 워크를 사용하는 경우 & 귀하의 시스템은 상당히 큰 & 귀하의 프레임 워크가 자바 코드의 오버 헤드를 줄일 수 있다면 그걸로 잘 작동합니다. 예 : 만약 당신이 시스템이 너무 크면 당신은 Hibernate for Object Relation Mapping을 데이터베이스와 함께 사용할 수 있습니다. 삽입, 업데이트, 삭제 쿼리와 같은 코드 부담을 줄여줍니다. 하지만 시스템이 너무 크지 않다면, 수동으로 위에 쓸 수 있습니다. & 최대 절전 모드에서 처리하는 데 시간이 오래 걸리지 않을 것입니다. Spring이나 Struts2에서도 마찬가지입니다.

관련 문제