Attualmente sto lavorando a un progetto software che esegue la compressione e l'indicizzazione su filmati di videosorveglianza. La compressione funziona dividendo gli oggetti di sfondo e in primo piano, quindi salvando lo sfondo come un'immagine statica e il primo piano come uno sprite.
Recentemente, ho intrapreso la revisione di alcune delle classi che ho progettato per il progetto.
Ho notato che ci sono molte classi che hanno solo un singolo metodo pubblico. Alcune di queste classi sono:
- VideoCompressor (con un metodo
compress
che accetta un video di input di tipoRawVideo
e restituisce un video di output di tipoCompressedVideo
). - VideoSplitter (con un metodo
split
che accetta un video di input di tipoRawVideo
e restituisce un vettore di 2 video di output, ciascuno di tipoRawVideo
). - VideoIndexer (con un metodo
index
che riprende un video di input di tipoRawVideo
e restituisce un indice video di tipoVideoIndex
).
Mi trovo a istanziare ogni classe solo per effettuare chiamate come VideoCompressor.compress(...)
, VideoSplitter.split(...)
, VideoIndexer.index(...)
.
In superficie, penso che i nomi delle classi siano sufficientemente descrittivi della loro funzione prevista, e in realtà sono sostantivi. Corrispondentemente, i loro metodi sono anche verbi.
Questo è effettivamente un problema?