Path Courses
SOLID : Software Design Principles
Software design principles are a set of guidelines that helps developers to make a good system design. The most important principles are SOLID principles. SOLID is an acronym, introduced by Michael Feathers, for five design principles used to make software design more understandable, flexible, and maintainable.
What you will learn:
- Software Design Principles
- SOLID Principles
- Single Responsibility Principle (SRP)
- Open Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
Creational Design Patterns
Creational Design patterns deal with the process of objects creation in such a way that they can be decoupled from their implementing system. This provides more flexibility in deciding which objects need to be created for a given use case.
In this course you will learn about creational design patterns like Factory Method, Abstract Factory, Builder, Prototype and Singleton. Learn to leverage the use case and implementation of creational patterns in your application.
What you will learn:
- What is Gang of Design Pattern?
- Creational Design Patterns
- Singleton Pattern
- Prototype Pattern
- Factory Method Pattern
- Abstract Factory pattern
- Builder Pattern
Structural Design Patterns
These patterns deal with the composition of objects structures. The concept of inheritance is used to compose interfaces and define various ways to compose objects for obtaining new functionalities.
In this course you will learn about structural design patterns like Adapter, Bridge, Composite, Decorator, Façade, Flyweight, and Proxy. Learn to leverage the use case and implementation of structural patterns in your application.
What you will learn:
- Adapter Design pattern
- Bridge Design pattern
- Composite Design pattern
- Facade Design pattern
- Flyweight Design pattern
- Proxy Design pattern
- Decorator Design pattern
Behavioural Design Patterns
These patterns deal with the process of communication, managing relationships, and responsibilities between objects. Behavioral patterns describes how different objects and classes send messages to each other to make things happen and how the steps of a task are divided among different objects.
Learn to leverage the use case and implementation of behavioural patterns in your application.
What you will learn:
- Behavioural Design Patterns
- Chain of Responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Visitor
- Template Method