SOLID Principles of Object-Oriented Design and Architecture
In this course you’re going to deep dive into SOLID principles of object-oriented design and architecture. These principles embody decades of academic research and industry experience with object-oriented software architecture, and best software developers use them on a daily basis to write clean and maintainable code.
You’ll learn the fundamental theory behind each individual SOLID principle and understand the respective benefits and scope of applicability. To make the course practically useful, I’ll show you non-trivial, real-world examples and discuss how these principles affect the design and the architecture of software systems.
SOLID principles were introduced about 20 years ago, but the body of knowledge they incorporate is much older than that. These five principles reflect at least 40 years of academic research and industry experience with software design and architecture, shared by the most prominent members of software community: Robert Martin, Michael Feathers, Martin Fowler, Kent Beck and more.
SOLID principles constitute a sound foundation and provide actionable guidelines for writing clean and maintainable code. SOLID code is flexible and is coupled to exactly right degree to achieve cohesive and expandable architecture. Such code is much more pleasant to work with and constitutes a true reason for professional pride.
In the past decades, SOLID became integral part of software developers’ lexicon because these principles enable efficient dialog about software design and architecture. They will guide you when you work on the initial design proposal and will be very useful later during architectural reviews. You will also find references to SOLID principles in many blogs and books about software architecture, and you will often hear them mentioned at software conferences. Therefore, if you want to be able to speak the language of software developers, you need to understand SOLID principles.
If you’re a professional software developer working in an object-oriented language – this course is for you. Enroll now and take your software architecture skills to the next level.
I can’t wait to see you inside.