Область действия и библиотека класса Java

Я создаю библиотеку Java в качестве конечного продукта, предназначенного для распространения этого.jar среди разработчиков.

Я «перевожу» свою библиотеку с Objective -C, где я контролирую, какие заголовочные файлы классов доступны разработчику. Другими словами, я предоставляю разработчику только несколько классов, с которыми он может работать.

В моей библиотеке Java я использую пакеты, и мой пакет стал довольно большим. Поэтому я решил разделить свои модели и контроллеры на разные пакеты. Но теперь модели, которые я хотел оставить приватными, мне нужно пометить как общедоступные, чтобы использовать их из основного пакета.

Мой вопрос: идет ли это вразрез с тем, что я делал в Objective -C?

Например, у меня есть класс Event, который на самом деле используется только внутри, и я не хочу, чтобы пользователь знал об этом или думал об этом. У меня есть еще один класс TimedEvent, который пользователь может получить экземпляром управления.

В моей цели -C я просто исключил класс Event из публичной области библиотеки, позволив TimedEvent.

Если я делаю вещи более аккуратными в своей библиотеке, то кажется, что пакеты не подходят. С этого момента мой основной контроллер находится в основном пакете, а все модели находятся в другом пакете -, принудительно имеющем публичную область видимости.

Мнения?

9
задан Mr Bean 9 July 2012 в 13:51
поделиться