# Topic covered
* Software Engineering
* History of software engineering
* Software Development Life Cycle(SDLC)
* SDLC Phases
* SDLC Models
* Classical Waterfall model
* Iterative Waterfall Model
* Prototype Model
* Incremental Model
* Spiral Model
* Agile Model
[Read More]
2. Testing in SDLC
SDLC, SDLC Phases, SDLC Models, Software Testing, TDD
# Topic covered
* Software Testing
* Type of Software testing
* Manual, Automation
* Software Testing types based on Levels
* Unit, Integration, System, Regression
* Test Case design approach
* AKA - Software Testing Techniques
* White, Black, Gray box testing
* Test Driven Development (TDD)
* Shift Left in Software Testing
* Shift Right in Software Testing
[Read More]
3. LLD and HLD Roadmap
Software and System Design (LLD and HLD) Roadmap
# Topic covered
* When should you start learning System Design?
* High-Level Design (HLD)
* Low-Level Design (LLD)
* Differences Between HLD and LLD
* Macro vs. Micro Architecture and Design
* LLD and HLD Roadmap
[Read More]
1. Software Design and Architecture Roadmap
All of the layers of software design
# Topic covered
* First Principles
* The stack
* Clean Code
* Programing Paradigms
* Object Oriented Programming
* Design Principles
* Design Patterns
* Architectural Principles
* Architectural Styles
* Architecture Patterns
* Enterprise Patterns
[Read More]
2. Software Design | Clean Code
Why and how to write clean code?
# Topic covered
* Clean Code
* Why Clean Code?
* Why write bad code?
* Meaningful Names
* Functions rules
* Comments rules
* Code smells
[Read More]
3. Software Design | OOPs
Object oriented design
# Topic covered
* Classes, Objects
* Inheritance, Polymorphism
[Read More]
4. Software Design | SOLID Design Principles
Introduction to SOLID Design Principles
# Topic covered
* SOLID Principles
* Issue with BAD Code
* Motivation behind the usage of SOLID Principles
* SOLID
* Single Responsibility Principle (SRP)
* Open closed Principle (OSP)
* Liskov substitution Principle (LSP)
* Interface Segregation Principle (ISP)
* Dependency Inversion Principle (DIP)
[Read More]
5. Software Design | Design Patterns
Introduction to Design Patterns
# Topic covered
* Design Pattern
* Design Pattern vs Algorithms
* Classification of patterns
* Creational patterns
* Structural patterns
* Behavioral patterns
[Read More]
6. Software Design | Design Patterns
Creational Design Patterns
6. Creational Patterns
Creational pattern provides various object creation mechanisms, which increase flexibility and reuse of existing code
.
Factory
Method Design Pattern - ClassBuilder
Design PatternSingleton
Design PatternPrototype
Design PatternAbstract Factory
Design Pattern
7. Software Design | Design Patterns
Structural Design Patterns
7. Structural Pattern
Adapter
Design PatternBridge
Design PatternComposite
Design PatternDecorator
Design PatternFlyweight
Design PatternProxy
Design Pattern- Facade Design Pattern