Explain the SOLID principles and provide an example of how you applied them in a software project at Grid Dynamics.