Test Driven Object Oriented Design - SOLID, Patterns & LLD
Test driven way of understanding Object Oriented principles, patterns and solving problems
Development ,Software Engineering,Software Architecture
Lectures -48
Resources -7
Quizzes -2
Duration -6.5 hours
Lifetime Access
Lifetime Access
30-days Money-Back Guarantee
Get your team access to 10000+ top Tutorials Point courses anytime, anywhere.
Course Description
This course teaches Test Driven Object Oriented Design (TDD) using the SOLID principles, design patterns, and low-level design (LLD) techniques. Participants will learn how to write clean, maintainable, and scalable code through hands-on exercises and real-world examples. The SOLID principles provide a foundation for good object-oriented design, while design patterns provide common solutions to recurring design problems. LLD covers the technical details of software design, including memory management, performance optimization, and the trade-offs between different design choices. The course combines the latest best practices in software design with a focus on writing testable, high-quality code, to help participants develop robust, scalable software systems.
Course Structure
Section 1: SOLID Principles
Define: Will define one by one each solid principle.
Test: Implement banking app via TDD (Test Driven Development). Will start by writing the requirement in the form test and then will fix/implement it.
Implementation: Implement solution & improve design using SOLID principle and test should remain fixed after it or can implement new requirement using the principle.
Section 2: Design Patterns
Define: Explain the design pattern with a real-world example
Test: Lay down business requirements via writing test
Implementation: Fix the test / implement requirement by applying that design pattern
Section 3: Shopping Cart
Define: Explain the problem
Think: Think solution & write down a rough structure of it. Suggest possible actors & their behaviors
Test: Start coding. Write down one by one requirements as a test.
Fix: Fix the test incrementally & code the whole solution via it. Use principles & best practices.
Section 4: Parking Lot
Define: Explain the problem
Think: Think solution & write down a rough structure of it. Suggest possible actors & their behaviors
Test: Start coding. Write down one by one requirements as a test.
Fix: Fix the test incrementally & code the whole solution via it. Use principles & best practices.
Goals
- The SOLID principles of object-oriented design: Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion.
- Design patterns: Participants will learn about common design patterns such as Command, Singleton, Observer, and Decorator.
- Low-Level Design (LLD): Understanding of the technical aspects of software design, including memory management, performance optimisation, and trade-offs between.
- Build a mental model of test first ways of solving Object Oriented (OOPS) and Low Level Design Problems (LLD).
- Understand & implement Test Driven Development (TDD).
- Test Driven Development (TDD): Participants will learn how to write tests for their code, use TDD to drive their design, and implement code that is easy to test.
- Aid in cracking top tech interviews of companies such Amazon, GoJek, Thoughtworks , Microsoft & MAANG league ones.
- Writing maintainable code: Participants will learn how to write code that is easy to understand, maintain, and extend over time.
- Real-world examples: The course will include real-world examples and hands-on exercises to help students apply the concepts they have learned.
- Overall, the course will equip students with the skills and knowledge they need to write clean, maintainable, and scalable code using the latest best practices
Prerequisites
- Basic understanding of Object-Oriented Programming concepts and principles.
- Familiarity with a any object oriented programming language such as Java, C#, or Python.
- Understanding of unit testing frameworks and testing practices.
- Familiarity with Test-Driven Development (TDD) process.
- Familiarity with Integrated Development Environment (IDE) such as Eclipse, Visual Studio, or IntelliJ.
- Basic understanding of design, architecture and design patterns.
- A strong motivation to improve their design skills.
Curriculum
Check out the detailed breakdown of what’s inside the course
Introduction
2 Lectures
- Course Structure 02:55 02:55
- Resources 03:45 03:45
SOLID principles
21 Lectures
Design Patterns
15 Lectures
Shopping Cart
6 Lectures
Parking Lot
4 Lectures
Instructor Details
Akshay Khanna
Senior Software Developer with over 7 years of industry experience and a history and passion for solving complex computer science problems.
Tech enthusiastic & has published a couple of books
Competitive programmer & open-source contributor
Have built multiple distributive systems for different industries such as telecom, healthcare, advertisement, and software products.
But, since I'm new to teaching, I'd appreciate your assistance and feedback.
Do reach out to me on any social networks, and thanks again for visiting my bio.
Course Certificate
Use your certificate to make a career change or to advance in your current career.
Our students work
with the Best
Related Video Courses
View MoreAnnual Membership
Become a valued member of Tutorials Point and enjoy unlimited access to our vast library of top-rated Video Courses
Subscribe nowOnline Certifications
Master prominent technologies at full length and become a valued certified professional.
Explore Now