Skip to content

tomerlieber/Satellite-Control-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Satellite Control System

I developed a satellite control system in a design patterns course. I was sent to do this enrichment course at John Bryce College during my military service. The project uses a variety of design patterns we learned in the course and is written in C#.

  • Singleton - the satellite control unit implements this design pattern in order to ensure that the class has only one instance and we have a global access point to this instance. The purpose of this class is to control all satellites, for example change the height of a satellite, launch a satellite and more.

  • Iterator - the satellite unit implements this design pattern in order to let us traverse the satellites without exposing its underlying representation to store them (a list in this case).

  • Observer - the satelite control unit and the satelites implement this design pattern in order to define a subscription mechanism where the satelite control unit notify to the registered satelites about the weather forecast updates.

  • Adapter - we made an adapter class for the russion satellite because its interface is incompatible, and we want it to collaborate with the satellite control system.

  • Command - we separated the satellite's interface from its business logic, so we have the same interface to all kinds of satellites. Therefore, one can send a specific command to a satellite through the ExecuteCommand function that implements the command pattern.

  • Decorator, Strategy and more.

Satelite-Control-System

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Languages