trainings/CreatingReliableSoftwareCpp/Presentation/exercises/builder
2024-05-06 11:58:30 +02:00
..
src Reliable - pierwszy commit 2024-05-06 11:58:30 +02:00
tests Reliable - pierwszy commit 2024-05-06 11:58:30 +02:00
CMakeLists.txt Reliable - pierwszy commit 2024-05-06 11:58:30 +02:00
main.cpp Reliable - pierwszy commit 2024-05-06 11:58:30 +02:00
README.md Reliable - pierwszy commit 2024-05-06 11:58:30 +02:00
ships.json Reliable - pierwszy commit 2024-05-06 11:58:30 +02:00

Linux compilation

> mkdir build
> cd build
> cmake -DCMAKE_BUILD_TYPE=Debug ..
> make

Exercise 1

  • Go to the directory Ship and create class ShipBuilder. The mandatory fields are:
    • name
    • capacity
    • time
  • The non-mandatory fields are:
    • difficultStrategy -> default value should be set as Easy
    • crew -> default value should be set as 10
    • durability -> default value should be set as 1000
    • armor -> default value should be set as 0
    • PrintVisitor -> default value should be set as Pretty Print
  • Try to build your own Ship!

Exercise 2

  • Go to the directory Ship and finish implementation of class ShipJsonBuilder. You should allow building 3 types of ship:
    • Brig
    • Frigate
    • Galoen
  • If you want to read a JSON filed, just use operator[], example: _shipsData["brige"]["armor"]
  • Try to build a ship using a new builder.
  • Try to change some values in ships.json and run binary without recompilation. You should see new values!

Exercise 3

  • Go to the directory Ship and create abstract class FruitFactory.
  • Create FruitFactory
  • Create ItemFactory
  • Create AlcoholFactory
  • Test in main.cpp if you can create any type of cargo
  • How to handle scenario, when different cargo takes other arguments?