214 похожих чатов

Всем доброе утро. Такой кейс: Есть 3 сущности: 1) видео 2) кадр из

видео
3) обработанный кадр из видео

Чтобы получить каждую следущую сущность нужны предыдущие ( достать из видео кадр и обработать ).
Так же кадр и обработанный кадр могут храниться к кеше или файлом на диске.

Логика примерно такая: у Interceptor есть видео и он хочет получить кадр из видео. Для этого нужно попросить репозиторий дать кадр, который по идее вернёт нам его с диска или из кеша

но если кадра на диске и в кеше нет, то нужно извлечь его из видео

вопрос: где лучше размещать логику/обработку случая, когда кадра нет в кеше и на диске и нужно извлечь его из видео

по идее можно это всё сделать в Interceptor. Т.е. если репозиторий не вернул ему кадр, то он ( Interceptor ) извлёк его из видео, оставил себе и так же положил кадр в репозиторий ( тот в кеш и на диск )
с другой стороны эту логику можно спустить в репозиторий
ломаюсь вот

с обработанным кадром таже самая схема, только чуть длиннее

если его нет, то нужно попытаться взять обычный кадр и обработать его ( опять же в репозитории или в Interceptor ? )
если и обычного кадра нет, то нужно сначала извлечь его из видео, а потом обработать

т.е. должен ли этим всем заниматься репозиторий
или он должен просто уметь доставать кадр из кеша или из файла и умнее его делать не стоит?

3 ответов

5 просмотров

Когда я слышу слово "репозиторий" то у меня в голове только логика сохранить и достать. И никакой другой. ИМХО этой логикой должен заниматься ваш interceptor

Три источника данных, которые вы перечислили и над ними фасад - репозиторий. Имхо яснее некуда.

Увеpены ли Вы, что это сущности? То есть каждая из них пpедставляет из себя полноценного участника бизнес-пpoцессов, либо же что-то все-таки является пpoмежуточным этапом вычислений?

Похожие вопросы

Обсуждают сегодня

type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
45
А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Hello. Could you please help me with finding all coordinates within a radius using a spatial index, given that I have a table with coordinates? SET @lng = 37.57925; SET @lat ...
Rinchin G
7
Господа и дамы, поможите пожалуйста :( Запускаю notepad.exe из делфи CreateProcess(nil, PChar(FullPath), nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, StartInfo, ProcessI...
Ivan Burnatov
7
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
I wrote frontend in flutter using dart. Where should I write backend?
𝐌𝐚𝐫𝐲
8
А че SwiftUI for Web ещё нет?
Shagit Ziganshin
7
Не получается у меня либу Zstd статически слинковать, вылазят какие-то AV Вроде example у них не сложный есть, вроде всё делаю как там... но не выходит чего-то Вопрос - если ...
notme
4
Карта сайта