[Java] dekorowanie obiektu w czasie działania programu

[Java] dekorowanie obiektu w czasie działania programu
plucins
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 3 lata
  • Postów:35
0

Cześć,

jestem w trakcie pisania projektu zaliczeniowego, którego zadaniem będzie obsługa pizzerii. Chce zrobić to na zasadzie jakiegoś switcha, czy else ifa, gdzie z menu użytkownik będzie wybierał składniki którymi aplikacja będzie dekorować obiekt.

Czyli zasada działania miej więcej coś takiego,

  1. wybór wielkości ciasta
  2. w loopie wybór składników (póki user nie wybierze np "x"), którymi będzie dekorowane ciasto.
  3. Wyświetlenie podsumowania.

Najbardziej zastanawiam się jak zrobić możliwość dekorowania obiektu w czasie działania programu.

Do utworzenia pizzy z sosem pomidorowym i pieczarkami, tworzę nowy obiekt i z góry zakładam składniki

Kopiuj
basicPizza = new Mushrooms(new TomatoSouce(new PizzaLarge()));

Ja jednak potrzebuję na początku tylko zadać wielkość ciasta, a dopiero potem dobierać składniki i nie bardzo wiem jak to zrobić.
Będę wdzięczny za podpowiedz w tym temacie.

projekt: https://github.com/plucins/Java/tree/master/JavaSE/PizzaProject

edytowany 1x, ostatnio: plucins
FI
FI
  • Rejestracja:około 10 lat
  • Ostatnio:około 4 lata
  • Postów:471
0

zapoznaj sie z design patterns od head first, polaczysz przyjemne z pozytecznym a o pizzeriach tam tez jest ;)

plucins
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 3 lata
  • Postów:35
0

No właśnie tam jest prezentowany sposób tworzenia obiektów jak wymieniłem wcześniej, jednak nie pozwala on na dekorowanie obiektu w trakcie działania programu.

77
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 6 lat
  • Postów:31
0

Zrób liste "List<Skladniki>"
Wyświetl liste składników z odpowiadającymi im numerami, poproś użytkownika od podanie numerów po spacji wczytaj je użyj metody split(" "), a następnie możesz dodawać to listy składniki tworząc nowe obiekty switchem :>

plucins
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 3 lata
  • Postów:35
0

A to pizza nie będzie jako jeden obiekt? Za każdym razem jak użytkownik będzie wybierał nowy składnik powinien tworzyć się nowy obiekt ?

Wiem jak obsłużyć dodawanie nowych składników, lecz nie mogę sobie wyobrazić implementacji dekoratora, który będzie dekorował w czasie działania programu, a nie tak jak wyżej w moim kodzie tylko podczas kompilacji.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.