Test Driven Object Oriented Design - SOLID, Patterns & LLD

via Udemy

Go to Course: https://www.udemy.com/course/test-driven-object-oriented-design-solid-patterns-lld/

Overview

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 StructureSection 1: SOLID PrinciplesDefine: 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 PatternsDefine: Explain the design pattern with a real-world exampleTest: Lay down business requirements via writing testImplementation: Fix the test / implement requirement by applying that design patternSection 3: Shopping CartDefine: Explain the problemThink: Think solution & write down a rough structure of it. Suggest possible actors & their behaviorsTest: Start coding. Write down one by one requirement as a test.Fix: Fix the test incrementally & code the whole solution via it. Use principles & best practices.Section 4: Parking LotDefine: Explain the problemThink: Think solution & write down a rough structure of it. Suggest possible actors & their behaviorsTest: Start coding. Write down one by one requirement as a test.Fix: Fix the test incrementally & code the whole solution via it. Use principles & best practices.

Skills

Reviews