What you will learn
Clear understanding about important UML diagrams such as Use case diagram, Class diagram, Sequence diagram, Activity diagram and how to use them to design software.
In depth knowledge of important object oriented principles such as SOLID principles etc.
How to design a software from requirement using OOP principles.
Qualities of good software architecture.
Introduction to Object
We will learn what is Object, why we need object oriented programming, what are the elements of Object, and how to identify objects properly.
Fundamental Principles of OOP
We will learn about Encapsulation, Inheritance, Abstraction, Polymorphism. We will learn these with real world example and we will practice how we can master these concepts.
Introduction to UML
We will strengthen our knowledge about Usecase Diagram, Class Diagram, Sequence Diagram, Activity Diagram using real requirement and with lot of examples.
In this section we will clear and strengthen our understanding about Single Responsibility Principle, Open Close Principle, Liskov Substitution Principle, Interface Segregation Principle, Dependency Inversion Principle and we will practice mastering them in real world application design.
Other OOP Principles
Besides SOLID, we will learn about few other important OOP principles such as Composition over inheritance, Encapsulate what varies, Program to interfaces, not to implementations etc.
Code Smell & Refactoring
We always need to improve our code over time. We will see some of the important code smells and refactoring techniques that we can apply to fix these code quality issues.
Introduction to Design Patterns
In this section we will have an overview of what is design pattern, why we use them and how it helps us. We will go through few of the common design patterns to see how we can use them in real world software.