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