In this course you will learn in detail the SOLID software architecture design principles for Object Oriented Programming. You will learn what are the benefits (and sometimes drawbacks !) of each of the SOLID principles which are:
- Single Responsibility Principle
- Open/Closed Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion Principle
We will explore each principle in detail and will then go through code examples that violate the principle and refactor these together in video tutorials. The code files of both the initial code and the refactored version are provided for each coding example. In this way, after following this course you will not only be able to apply this knowledge to your own code and develop software architecture of higher quality, but you will also be able to detect existing violations and correct them.
The coding examples are in C# , a widely used object oriented programming language. However, if you are not familiar with C# but use another object oriented programming language (e.g. Java, PHP, Python etc. ) don't worry you'll still be able to fully grasp the different principles and the scope of each refactoring. Additionally, if you'd like me to go through a similar code example in another programming language, just sent me a message and I'll be glad to guide you through one.
I'm also available to answer any queries you may have regarding any course material which you didn't understand or would like further detail on.
Some of the many positive reviews I have received so far :
"The course is comprehensive and well explained through clear and concise examples, and shows that the instructor is highly experienced in their field. Overall this course is excellent and highly appropriate for software developers looking to improve their architectural and programming skills, both beginners as well as more advanced programmers. I will be looking forward to more courses by the author in the future." - J. Fusselberg
"High quality videos, lectures are clear and to the point. This course is highly recommended for any developer who wants to move on to a senior position or software architect role. However, it will also be a good start for beginner to introduce them to proper coding practices early on." - Roberto de Souza
I look forward to seeing you in my course and hearing how the content's helping you in your work or studies !