Модульность в Java: верхний уровень против вложенных классов

В учебных пособиях по Java, которые я читал, нравится использовать вложенные классы для демонстрации концепции, функции или использования.

Это заставило меня изначально реализовать образец проекта, который я создал именно так: множество вложенных классов в основном классе деятельности.

Это работает, но теперь у меня есть чудовищный монолитный файл .java. Я считаю это несколько неудобным, и теперь я намерен разбить на несколько файлов / классов .java.

Мне, однако, пришло в голову, что иногда могут быть причины не извлекать классы из окружающего их класса .

Если да, то каковы веские причины сохранять модуль большими, учитывая модульность и простоту обслуживания?

Существуют ли случаи, когда непрактично (или даже невозможно) преобразовать вложенный класс в класс верхнего уровня? Другими словами, существует ли случай, в котором только вложенный класс может удовлетворять определенным функциям?

5
задан tshepang 26 June 2014 в 21:04
поделиться