[Java] dekorowanie obiektu w czasie działania programu

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

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

0

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

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.

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 :>

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1