Skip to content

This a project, for COS 214, where a group of people will model a Formula one team using at least 10 design patterns.

License

Notifications You must be signed in to change notification settings

Michael-Stroh/Design-Patterns-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Design-Patterns-Project

This a design-pattern project for COS 214 of the University of Pretoria by the group TSP. We will model a Formula one team, specifically the logistics and racing, using at least 10 design patterns.

The project will be coded in C++ 20 and submitted on the 9th of Novemeber 2020.

The following patterns were used:

      1. Composite
      2. Prototype
      3. Factory
      4. Builder
      5. Memento
      6. Iterator
      7. State
      8. Observer
      9. Mediator
     10. Strategy

Classes in Patterns:

    Composite:  Circuit, RaceTrack, CompositeRoad
                Result, RaceSeasonResult, GrandPrixResult, 
                RaceResult, LapResult, SimulationResult,
                Car, CarComposite, Engine, Body, Chassis, 
                Suspension, SteeringWheel, CoolingSystem, 
                Electronics, Tyre
                
    Prototype:  Car
                CarComposite, Art,  
                Engine, Body, Chassis, 
                Suspension, SteeringWheel, 
                CoolingSystem, Electronics, Tyre
                Container, GarageEquipment, CateringEquipment,
                carComponent, Logistics, LogisticStrategy 


    Factory:    CarPartFactory
                EngineFactory, ChassisFactory, 
                TransmissionFactory, SteeringFactory, 
                CoolingFactory, BodyFactory, SuspensionFactory, 
                BrakesFactory, ElectronicsFactory, CarPart
                Engine, Body, Chassis, Suspension, 
                SteeringWheel, CoolingSystem, Electronics
    
    Builder:    CarBuilder, CarComposite, CarFactory
                EngineFactory, ChassisFactory, TransmissionFactory, 
                SteeringFactory, CoolingFactory, BodyFactory, 
                SuspensionFactory, BrakesFactory, ElectronicsFactory
    
    Memento:    TransportVehicle, CarMemento, CarComposite 
    
    Iterator:   Iterator, CircuitIterator
                Circuit, RaceTrack       
    
    State:      GrandPrix, Race, RaceState
                PracticeState, QualifyingState,OfficialState
                Driver, DriverStrategy, AggressiveDriving, 
                DefensiveDriving and ControlledDriving,
                EngineeringDepartment, Simulation,WindTunnel, 
                HandlingSimulation, AccelerationSimulation, SpeedSimulation
    
    Observer:   Subject, SeasonSubject, RaceTeam
                QualifyingRaceSubject, OfficialRaceSubject,
                EngineeringDepartment, EngineDepartment,
                ChassisDepartment, ElectronicsDepartment, 
                AeroDynamicsDepartment, TransmissionDepartment, 
                BrakesDepartment, CoolingDepartment, SuspensionDepartment
    
    Mediator:   Pitstop, CarStop, Pitcrew, 
                Tyre, PartReplacer
    
    Strategy:   TyreStrategy, Hard, Medium,
                Soft, TyreStrategy

To compile the code:

   Compiling the program
        Run "make" in the root directory of the project.

        This command will link & compile all .cpp and .h files found in the System/ directory (but not it's subdirectories).
        The linked .o files will be placed in the Build/ directory.
        The main executable (main.exe) will be placed in the root directory of the project.


    Running the program
        Run "make run" in the root directory of the project.

        This command will execute the main executable found in the root directory of the project.

        Output will be displayed to the console.

The group members are as follows:

        Brenton        Stroberg         u17015741
        Michael        Stroh            u17023557
        Timothy        Hill             u17112592
        Kayla          Latty            u17360812
        Alex           Human            u19069716

                                        -ordered by emplid

About

This a project, for COS 214, where a group of people will model a Formula one team using at least 10 design patterns.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •