이 .jar를 개발자에게 배포하려는 최종 제품으로 Java 라이브러리를 만듭니다.Java 클래스 범위 및 라이브러리
내 라이브러리를 Objective-C에서 "번역"하고 있으며 개발자가 어떤 클래스 헤더 파일을 사용할 수 있는지 제어합니다. 다시 말해 개발자에게 처리 할 수있는 몇 가지 클래스 만 공개합니다.
내 Java 라이브러리에서 패키지를 사용 중이고 패키지가 상당히 커졌습니다. 그래서 저는 제 모델과 컨트롤러를 다른 패키지로 분리하기로 결정했습니다. 하지만 이제는 개인적으로 유지하고 싶은 모델을 기본 패키지에서 사용하려면 공개로 표시해야합니다.
내 질문은 이것이 내가 Objective-C에서하고 있었던 것에 대한 것인가?
예를 들어 실제로 내부에서만 사용되는 Event 클래스가 있는데 사용자가 그것에 대해 알거나 생각하지 않기를 바랍니다. 사용자가 관리 인스턴스를 얻을 수있는 또 다른 클래스 인 TimedEvent가 있습니다.
내 Objective-C에서 나는 단순히 이벤트 클래스를 라이브러리 공용 범위에서 제외하여 TimedEvent를 허용했습니다.
내 라이브러리에서 일을 좀 더 깔끔하게 만들면 패키지가 길지 않은 것처럼 보입니다. 지금부터 내 메인 컨트롤러는 주요 패키지에 들어 있으며 모든 모델은 다른 패키지에 들어 있으므로 공개 범위가 있어야합니다.
의견?
멋진 터치 인터페이스의 내부 구현에. 그게 새로운 기능입니까? –
아니, Java가 내부 클래스를 지원하기 때문에 (1.2, 제 생각에는) 보일러 플레이트 코드가 많이 추가되었습니다. –
많은 교과서가이 점을 잘못 알고 있습니다. "인터페이스 : 상수 및 메서드 선언" –