Tutorialspoint

#May Motivation Use code MAY10 for extra 10% off

Test Driven Object Oriented Design - SOLID, Patterns & LLD

person icon Akshay Khanna

4.3

Test Driven Object Oriented Design - SOLID, Patterns & LLD

Test driven way of understanding Object Oriented principles, patterns and solving problems

updated on icon Updated on May, 2024

language icon Language - English

person icon Akshay Khanna

English [CC]

category icon Development,Object Oriented design

Lectures -48

Resources -7

Quizzes -2

Duration -6.5 hours

4.3

price-loader

30-days Money-Back Guarantee

Training 5 or more people ?

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

What will you learn in this course:

  • 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

What are the prerequisites for this course?

  • 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.
Test Driven Object Oriented Design - SOLID, Patterns & LLD

Curriculum

Check out the detailed breakdown of what’s inside the course

Introduction
2 Lectures
  • play icon Course Structure 02:55 02:55
  • play icon Resources 03:45 03:45
SOLID principles
21 Lectures
Tutorialspoint
Design Patterns
15 Lectures
Tutorialspoint
Shopping Cart
6 Lectures
Tutorialspoint
Parking Lot
4 Lectures
Tutorialspoint

Instructor Details

Akshay Khanna

Akshay Khanna

e


Course Certificate

Use your certificate to make a career change or to advance in your current career.

sample Tutorialspoint certificate

Our students work
with the Best

Related Video Courses

View More

Annual Membership

Become a valued member of Tutorials Point and enjoy unlimited access to our vast library of top-rated Video Courses

Subscribe now
Annual Membership

Online Certifications

Master prominent technologies at full length and become a valued certified professional.

Explore Now
Online Certifications

Talk to us

1800-202-0515