How rashkennurdaulet/sdp-assignment1 works
This is a small Java console pizza-customization example using the Builder pattern. A user selects a crust style and ingredients in Main; the selected builder accumulates options, enforces style-specific rules when building, and returns an immutable Pizza whose description is printed. PizzaDirector also defines two preset recipes, but the sampled Main does not invoke it. The map reflects sampled source; no README content or other runtime subsystems were provided.
Main entry points: Main.java Console flow · Pizza.java Pizza result · ItalianThinCrustBuilder.java Italian builder · ChicagoDeepDishBuilder.java Chicago builder
Components 7
Console interaction
- Console flow
src/pizza/Main.java
Pizza construction
- Builder API
src/pizza/PizzaBuilder.java - Italian builder
src/pizza/ItalianThinCrustBuilder.java - Chicago builder
src/pizza/ChicagoDeepDishBuilder.java - Pizza result
src/pizza/Pizza.java
Preset recipes
- Recipe director
src/pizza/PizzaDirector.java
Other components
- User
Connections 8
- User → Console flow: enters choices
- Console flow → Italian builder: selects builder
- Console flow → Chicago builder: selects builder
- Console flow → Builder API: configures via
- Italian builder → Pizza result: builds
- Chicago builder → Pizza result: builds
- Console flow → Pizza result: describes result
- Recipe director → Builder API: sets presets