main.kt 695 B

12345678910111213141516171819202122232425262728
  1. package creational_patterns.builder
  2. fun main() {
  3. println("This is builder pattern for single class")
  4. val modernCar = ModernCar.Builder()
  5. .seats(2)
  6. .engine(Engine.PremiumCar)
  7. .GPS(false)
  8. .tripCounter(11)
  9. .build()
  10. modernCar.getInfo()
  11. // OR
  12. println("\nThis is builder pattern for some class with director")
  13. val director = Director()
  14. val carBuilder = CarBuilder()
  15. director.constructSportCar(carBuilder)
  16. val car = carBuilder.getResult()
  17. car.getTechnicalInfo()
  18. val manualBuilder = ManualBuilder()
  19. director.constructSportCar(manualBuilder)
  20. val manual = manualBuilder.getResult()
  21. manual.showManual()
  22. }