Я обнаружил, что у меня есть несколько мест, в которых есть открытые статические внутренние классы, которые расширяют классы "помощника", что делает мой код намного более безопасным и, на мой взгляд, читабельным. Например, представьте, что у меня есть класс "SearchCriteria". Существует много общих черт для различных вещей, которые я ищу (поисковый запрос, а затем группа типов поисковых терминов, диапазон дат и т. Д.). Расширяя его в статическом внутреннем классе, я тесно связываю расширение и доступный для поиска класс с конкретными отличиями. Это кажется теоретически плохой идеей (Tight Coupling Bad!), Но расширение специфично для этого класса с возможностью поиска (One Class, One Purpose).
Мой вопрос, по вашему опыту, использование статических внутренних классов (или того, что является вашим языком равнозначным) сделало ваш код более читабельным / обслуживаемым или это привело к тому, что он укусил вас в EOF?
Кроме того, я не уверен, является ли это вики-материалом сообщества или нет.