В настоящее время я работаю над программным проектом, который выполняет сжатие и индексацию видеозаписей видеонаблюдения. Сжатие выполняется путем разделения объектов фона и переднего плана, а затем сохранения фона в виде статического изображения и переднего плана в виде спрайта.
Недавно я приступил к рассмотрению некоторых классов, которые я разработал для этого проекта.
Я заметил, что есть много классов, которые имеют только один публичный метод. Некоторые из этих классов:
- VideoCompressor (с
compress
методом, который принимает входное видео типаRawVideo
и возвращает выходное видео типаCompressedVideo
). - VideoSplitter (с
split
методом, который принимает входное видео типаRawVideo
и возвращает вектор из 2 выходных видео, каждого типаRawVideo
). - VideoIndexer (с
index
методом, который принимает входное видео типаRawVideo
и возвращает индекс видео типаVideoIndex
).
Я считаю себя инстанцированием каждого класса только совершать звонки , как VideoCompressor.compress(...)
, VideoSplitter.split(...)
, VideoIndexer.index(...)
.
На первый взгляд, я думаю, что имена классов достаточно описывают их предназначенную функцию, и они на самом деле являются существительными. Соответственно их методы также являются глаголами.
Это на самом деле проблема?