패키지 범위에 대한 아이디어를 이해하고 때로는 그것을 원한다고 생각했습니다. 그러나, 그것을 사용하려는 심각한 의도로 시작할 때마다 나는 그것이 그것이 필요하다고 생각한 요구에 맞지 않는다는 것을 발견했습니다.
내 주된 문제는 항상 범위를 제한하려는 내용이 동일한 패키지에 포함되지 않는 것 같습니다. 그것들은 개념적으로 모두 연결될 수 있지만, 애플리케이션 내에서 데이터의 논리적 분할은 그것들을 더 큰 패키지의 개별 자식 패키지로 가지고 있습니다.
예를 들어 Mission 모델이있을 수 있으며 missionServices와 같은 다른 Mission 도구 만 일부 방법을 사용하기를 원합니다. 그러나 패키지로 Missions.models 및 Missions.services를 사용하므로 MissionModel과 MissionService가 동일한 패키지 범위가 아닙니다. 패키지에 내가 권한을 갖기를 원하지 않는 수많은 것들을 포함시키지 않고 높은 권한을 갖기를 원하는 것들을 패키지에 적절하게 포함하는 상황은 결코없는 것 같습니다. 패키지 범위 지정의 장점은 거의 모든 패키지를 동일한 패키지에 배치하기 위해 프로젝트 아키텍처를 수정하는 것을 정당화한다고 생각하지 않습니다. 종종 Aspects 또는 일종의 제어 역전은 내가 간단히 패키지 범위 지정을 고려한 모든 문제에 대한 더 나은 접근 방식으로 판명되었습니다.
나는 이것이 모든 Java 개발자들에게 일반적으로 사실이라고 생각하거나 궁금한 일입니다. 실제 환경에서 패키지 범위가 많이 활용됩니까? 사용하기에 좋은 형태로 간주되거나 현대 개발에서 거의 이용되지 않는 레거시 행동으로 보이는 경우가 많이 있습니까?
패키지 개인 범위가 기본값 인 이유에 대해 아무 것도 묻지 않고 기본값에 관계없이 언제 사용해야하는지 묻습니다. 이것이 왜 기본인지에 대한 대부분의 토론은 실제로 패키지 범위가 실제로 유용 할 때 실제로 들어 가지 않고 대신에 일반적으로 사용되는 다른 두 가지 범위가 기본값이 아니어야하는 이유에 대해 간단히 주장하여 패키지가 제거 과정에서 승리합니다. 또한 제 질문은 현재 개발 상태에 관한 것 입니다. 특히, 우리는 다른 툴과 패러다임이 패키지 범위를 덜 유용하게 만드는 시점으로 발전 시켰습니다.