SOLID – Dependency Inversion

High-Level classes (i.e.PlayerController) should not be directly dependant on specific Low-Level classes (i.e. EnemyBullet, EnemyRocket, EnemyLaser, …). Instead these High-Level Classes should be dependant on abstractions of these classes i.e. an Interface IProjectile. So in a nutshell: Use Interfaces to…

Read MoreSOLID – Dependency Inversion

Coupling

Coupling is a measure of how dependant two systems are on one another. Tight coupling means that i.e. most classes of the PlayerController access different Classes of the UI. This has lots of downsides. For example if you need to…

Read MoreCoupling