Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
S Sample_Solutions
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OOP
  • Sample_Solutions
  • Wiki
  • Assignment part 3

Assignment part 3 · Changes

Page history
Create Assignment part 3 authored Dec 10, 2019 by Ing. Lukáš Hruška's avatar Ing. Lukáš Hruška
Show whitespace changes
Inline Side-by-side
Showing with 29 additions and 0 deletions
+29 -0
  • Assignment---part-3.md Assignment---part-3.md +29 -0
  • No files found.
Assignment---part-3.md 0 → 100644
View page @ 3cc4754a
# Zadanie - časť 3
Koniec je už na dohľad...
Cieľom tejto časti zadania je už len dokončiť rozrobené veci:
Niekoľko poznámok na začiatok:
- Inventory a RestaurantMenu je vhodné zabaliť do triedy, ktorá zabezpečuje komunikáciu medzi UI vrstvou a už spomenutými triedami - tu spravte načítanie a zápis do súboru, rozdelenie kolekcie načítanej zo súboru na do zodpovedajúcich kategórií - jedná sa o návrhový vzor Facade https://en.wikipedia.org/wiki/Facade_pattern
- na zistenie, či je objekt určitej triedy (platí aj pre potomkov) môžete použiť operátor __is__ https://www.geeksforgeeks.org/c-sharp-is-operator-keyword/
- nezabúdajte, že existujú aj preťažené metódy a konštruktory...
## 1. Menu
Do formulára so skladom pridajte možnosť upravovať menu (pridávať, editovať a mazať veci), nezabudnite, že niektoré veci patria aj na sklad, v tomto prípade je ich potrebné pridať do oboch súčasne... v prípade odstránenia z menu ich ale na sklade ponechajte.
## 2. Pečenie pizze
Vytvorte triedu Oven ktorá je zopdovedná za pečenie pizze.
Nech pečenie pizze nie je riešené pre fixný počet pecí, ale nech sa počet určí pri inicializácií. Ak sú voľné miesta v peci, pri vytvorení objednávky automaticky ju začnite piecť (v prípade tejto simulácie preskočíme prípravu kuchárom), ak sú všetky pece obsadené, pizza samozrejme musí počkať, kým sa na ňu dostane rad. (Vhodné použiť kolekciu Queue)
Pridajte si formulár, a naň niekoľko ProgressBar-ov - tieto budú zobrazovať priebeh pečenia a vhodne prepojte tento Form a Oven (event handlers, invoke atď...)
__Triedy na backende musia na sebe závisieť priamo, nie cez UI.__
Zobrazte počítadlo čakajúcich pízz.
Poznámka: samozrejme v praxi by sa tu použil jednoduchý timer, cieľom tejto časti zadanie je však ukázať základnú znalosť práce s vláknami, použite teda jedno z nasledujúcich: Thread / ThreadPool / BackgroundWorker
Zabezpečte, že po dokončení pečenia bude kuchár upozornený.
\ No newline at end of file
Clone repository
  • Assignment part 1
  • Assignment part 2
  • Assignment part 3
  • Cv10
  • Cv11
  • Cv4
  • Cv5
  • Cv7
  • Cv8
  • Cv9
  • Requirements
  • Home