Domáca úloha č.4
Navrhnite a naprogramujte komponent, s nasledujúcimi featurami.
- Systém obsahuje účty.
- Účet obsahuje informácie o vlastníkovi (stačí meno) a sumu.
- Systém umožňuje čítať informácie o účte.
- Systém umožňuje vytvoriť účet s daným vlastníkom a danou sumou.
- Systém umožňuje zmeniť vlastníka účtu alebo informácie o ňom.
- Systém umožňuje prevod medzi účtami. Samozrejme, len za predpokladu, že suma na účte z ktorého prevádzame peniaze je dostatočná
- Pred vykonanǐm prevodu medzi účtami systém overí, či táto tranzakcia nie je podozrivá. Toto implementujte čakaním náhodnej dĺžky medzi 1-10s.
- So systémom môže pracovať paralelne niekoľko klientov.
- Komponent funguje "in memory".
Poznámky k riešeniu:
- Dopracujte / spresnite zadanie na miestach kde to považujete za potrebné. Zadanie je nevyhnutnou súčasťou riešenia.
- Riešenie musí obsahovať popis interfacu na prácu s komponentom.
- Riešenie musí obsahovať stručný popis designu.
- Nechcete stopnúť klientský thread na 10s, zohľadnite to v interfaci (a už vonkoncom nechcete nič na 10s lockovať).
- Voľba paradigmy je na vás.
- Keep it simple.