What you'll learn:
- Why Object Oriented Object isn't analogous to a real-world object
- Object as a container for behavior and state
- Objects vs Data Structures
- What Composition is and how it works in a big codebase
- What Inheritance is and why it's not about code reuse
- Favor Composition over Inheritance rule and when it doesn't apply
- The importance of good naming
- Object Oriented Design best practices
- The most useful Design Patterns and their respective use cases
Most top programming languages today support Object Oriented Programming:Python, Java, TypeScript, etc. It's a powerful paradigm that helps you write clean code and handle the complexity of the modern sofware development.
In this course, you'll master the core principles of Object Oriented Programming and learn to design clean, reliable and maintainable Object Oriented systems. These tools will make you a more productive developer and open a new, intriguing perspective into the realm of software design.
You'll learn:
What an Object is: adopt the right Object Oriented mindset and treat objects as containers for state and behavior.
Core Principles of Object Oriented Programming: understand Encapsulation, Abstraction, Composition, Inheritance and Polymorphism, which are the backbone of Object Oriented Programming.
Dependency Injection: learn how Dependency Injection architectural pattern enables proper use of Composition in real projects.
Object Oriented Design: leverage higher-level Object Oriented principles to design software, focusing on creating modular and maintainable systems.
Design Patterns: discover the most useful Design Patterns and undestand their role in addressing common technical tasks quickly and efficiently.
This course was designed for professional developers who want to know Object Oriented Programming and Object Oriented Design at a fundamental level. From beginners, to experienced programmers, everyone will find new practical insights in this material.
Come join me on this epic journey into the depths of Object Oriented Programming and Design in this course!