You write a little report about how I use S.O.L.I.D principles and refactoring in my project code(the .zip file).I will provide the lecture note about S.O.L.I.D principles and refactoring but you need to know those concepts in advance.this is the specific details about the report: In the last a few lectures, we learned S.O.L.I.D principles and refactoring. In this assignment, you (as an individual, NOT a team) are asked toprovide two examples, using code from your course project, where you applied some of the S.O.L.I.D principles (5 points);provide two examples, using code from your course project, where you applied some refactorings (5 points). Notes:For principles, your examples should cover two different S.O.L.I.D principles.For principles, you need to explain how the principles are applied in your examples.For refactoring, your changes should touch different program levels: such as variable/statement/function/class;For refactoring, you need to show the code before and after the refactorings and explain why the new code is better.In both cases, it is okay to slightly adjust your actual code for demonstration purposes.In both cases, complexities of the examples will be considered for grading.