Считается ли антишаблоном использование вложенных статических классов для служебных команд и ответов?JAVA

Программисты JAVA общаются здесь
Anonymous
Считается ли антишаблоном использование вложенных статических классов для служебных команд и ответов?

Сообщение Anonymous »

Я структурирую модели команд и ответов для своего уровня обслуживания. В настоящее время размещение всех моделей в одной плоской папке (например, /commands или /responses) становится затруднительным из-за огромного объема файлов.
Поскольку большинство команд и ответов специально адаптированы к одному варианту использования или методу обслуживания, они редко используются повторно в разных службах. Я рассматриваю возможность использования вложенных статических классов внутри самого класса обслуживания, чтобы тесно инкапсулировать их со службой, к которой они принадлежат.
Для немногих исключений, которые требуют совместного использования, я бы извлек их в специальную папкуshared/commands.
Вот упрощенный пример на Java:

Код: Выделить всё

public class UserService {

// Command
public static class CreateUserCommand {
public String username;
public String password;
}

// Response
public static class UserResponse {
public String userId;
public String status;
}

public UserResponse handle(CreateUserCommand command) {
// Logic...
return new UserResponse();
}

}
**Мои вопросы:**
  • Есть ли какие-либо скрытые технические недостатки или известные анти-шаблоны этого подхода
  • Влияет ли этот подход негативно на автоматизированные инструменты документирования API (например, Swagger/OpenAPI) по сравнению с использованием автономных классов?

Вернуться в «JAVA»