Atualmente, estou trabalhando em um projeto de software que realiza compactação e indexação em imagens de vigilância por vídeo. A compactação funciona dividindo objetos em segundo plano e em primeiro plano, salvando o plano de fundo como uma imagem estática e o primeiro plano como um sprite.
Recentemente, comecei a revisar algumas das classes que criei para o projeto.
Percebi que existem muitas classes que possuem apenas um único método público. Algumas dessas classes são:
- VideoCompressor (com um
compress
método que captura um vídeo de entrada do tipoRawVideo
e retorna um vídeo de saída do tipoCompressedVideo
). - VideoSplitter (com um
split
método que capta um vídeo de entrada do tipoRawVideo
e retorna um vetor de 2 vídeos de saída, cada um do tipoRawVideo
). - VideoIndexer (com um
index
método que recebe um vídeo de entrada do tipoRawVideo
e retorna um índice de vídeo do tipoVideoIndex
).
Encontro-me instanciar cada classe apenas para fazer chamadas como VideoCompressor.compress(...)
, VideoSplitter.split(...)
, VideoIndexer.index(...)
.
Aparentemente, acho que os nomes das classes são suficientemente descritivos de sua função pretendida e são na verdade substantivos. Correspondentemente, seus métodos também são verbos.
Isso é realmente um problema?