bardziej zbliżone do rzeczywistości będzie tworzenie nowego wpisu co tydzień a później dokładanie głosów do najnowszego
gdyby zrealizować taką ankietę w rzeczywistości to raz na tydzień ktoś by musiał zmienić pojemnik na głosy
w drugim rozwiązaniu jedyny plus to taki że nie trzeba tworzyć zadania, ale rozwiązanie jest bardziej skomplikowane i komplikuje aplikacje niemal w każdym momencie
przy dodawaniu głosu trzeba sprawdzić najpierw czy wpis istnieje, potem go użyć lub założyć nowy
przy wyświetlaniu też trzeba znaleźć najnowszy wpis i zrobić obsługę gdy go nie ma
przy każdym korzystaniu z tych danych (dodawanie / modyfikowanie / usuwanie / tworzenie statystyk) będzie trzeba ponowić logikę odpowiedzialną za obsługę wpisów - w przypadku jeśli ta logika miałaby się nagle zmienić to trzeba program poprawiać w kilku miejscach
najlepszym rozwiązaniem wydaje się dodawanie głosów jak leci i tylko ich obsługa przy tworzeniu statystyk, ale to też ma swoje minusy - na przykład jeżeli w pewnym momencie stwierdzimy że nie chcemy zmieniać kontenerka co tydzień tylko co 2 dni, albo co miesiąc byśmy chcieli szybkie głosowanie jednodniowe to takie zmiany będą bardzo trudne i będzie to miało wpływ na wszystkie głosowania jakie się do tej pory odbyły lub znacznie skomplikuje się logika wyświetlania
w tym przypadku najprostsze rozwiązanie jest zarazem najbardziej elastyczne
w rozwiązaniu z tworzeniem wpisu w locie trzeba jeszcze brać pod uwagę wielowątkowość - jeżeli za dodawanie nowych "kontenerków" z punktu widzenia programu będzie odpowiedzialna osoba która teraz głosuje to w przypadku dwóch głosujących w jednym momencie dojdzie do konfliktu - w praktyce może dojść do dodania kontenerka po tym jak inny głosujący właśnie sprawdził że go nie ma - w rezultacie trzeba całą operację przeprowadzić w transakcji blokując tymczasowo dostęp do kontenerka