Companies Home Search Profile

Test Driven Object Oriented Design - SOLID, Patterns & LLD

Focused View

Akshay Khanna

6:36:35

123 View
  • 1 - Course Structure.mp4
    02:55
  • 2 - Resources.mp4
    03:45
  • 3 - SOLID Principles Intro.mp4
    01:08
  • 4 - Single Responsibility Principle SRP Introduction.mp4
    03:06
  • 5 - Banking App Initial Setup Test Deposit Money.mp4
    05:54
  • 5 - banking app built to implement solid principal.zip
  • 6 - Banking App Test Withdraw Money.mp4
    04:59
  • 7 - Banking App Test Loan Interest.mp4
    04:32
  • 8 - Banking App Test Send OTP.mp4
    04:54
  • 9 - Implementing SRP on Banking App Part 1.mp4
    05:16
  • 10 - Implementing SRP on Banking App Part 2.mp4
    04:10
  • 11 - Open Close Principle OCP Intro.mp4
    03:02
  • 12 - Implementing Open Close Principle OCP Part 1.mp4
    04:59
  • 13 - Implement Open Close Principle OCP Part 2.mp4
    05:53
  • 14 - Liskov Substitution Principle LSP Introduction.mp4
    05:06
  • 15 - Implementing Liskov Substitution Principle LSP Part 1.mp4
    05:28
  • 16 - Implementing Liskov Substitution Principle LSP Part 2.mp4
    05:56
  • 17 - Interface Segregation Principle ISP Intro.mp4
    02:34
  • 18 - Implementing Interface Segregation Principle ISP Part 1.mp4
    15:05
  • 19 - Implementing Interface Segregation Principle ISP Part 2.mp4
    12:56
  • 20 - Dependency injection Principle DIP Intro.mp4
    03:55
  • 21 - Implementing Dependency injection Principle Part 1.mp4
    06:53
  • 22 - Implementing Dependency injection Principle Part 2.mp4
    07:21
  • 22 - banking app built to implement solid principal.zip
  • 23 - Singleton Pattern Intro.mp4
    03:25
  • 23 - git repo.zip
  • 24 - Implementing Singleton Pattern.mp4
    10:51
  • 25 - Strategy Pattern Intro.mp4
    03:07
  • 26 - Strategy Pattern Implementation.mp4
    09:32
  • 27 - Decorator Pattern Intro.mp4
    03:51
  • 28 - Decorator Pattern Implementation.mp4
    12:51
  • 29 - Command Pattern Intro.mp4
    03:40
  • 30 - Command Pattern Implementation.mp4
    12:38
  • 31 - Iterator Pattern Intro.mp4
    04:01
  • 32 - Iterator Pattern Implementation Part 1.mp4
    15:45
  • 33 - Iterator Pattern Implementation Part 2.mp4
    22:54
  • 34 - Observer Pattern Intro.mp4
    04:49
  • 35 - Observer Pattern Implementation Part 1.mp4
    15:43
  • 36 - Observer Pattern Implementation Part 2.mp4
    14:18
  • 36 - git repo.zip
  • 37 - Problem Statement Shopping Cart.mp4
    03:58
  • 37 - git repo.zip
  • 38 - Thinking Solution.mp4
    07:29
  • 38 - thinking solution text file.zip
  • 39 - Coding Solution Add Product.mp4
    14:24
  • 40 - Coding Solution Display Price.mp4
    15:22
  • 40 - git repo.zip
  • 41 - Coding Solution Additional Products Sale Tax.mp4
    08:56
  • 42 - Problem Statement.mp4
    01:13
  • 42 - git repo.zip
  • 43 - Thinking Solution.mp4
    08:56
  • 44 - Coding Solution Park a Vehicle.mp4
    35:09
  • 45 - Coding Solution UnPark a Vehicle.mp4
    35:00
  • 46 - Shopping Cart Handle Additional products calculate sale tax and total price.mp4
    08:56
  • 46 - git repo.zip
  • Description


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

    What You'll Learn?


    • 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

    Who is this for?


  • Software developers: This course is intended for software developers who are looking to improve their skills in developing high-quality, well-designed and maintainable software applications.
  • Software architects: Architects and technical leaders who want to stay up-to-date with the latest best practices in software design and development will benefit from taking this course.
  • Object-oriented developers: Developers who have a basic understanding of object-oriented programming (OOP) concepts and want to learn how to apply these concepts in a practical, test-driven development context.
  • Agile development practitioners: The course is designed for software development teams who are following an Agile development methodology and want to ensure that their code is maintainable, scalable, and testable.
  • Aspiring software professionals: Individuals who are interested in pursuing a career in software development and want to get a solid foundation in best practices, design patterns, and SOLID principles.
  • More details


    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 requirement 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 requirement as a test.

        • Fix: Fix the test incrementally & code the whole solution via it. Use principles & best practices.



    Who this course is for:

    • Software developers: This course is intended for software developers who are looking to improve their skills in developing high-quality, well-designed and maintainable software applications.
    • Software architects: Architects and technical leaders who want to stay up-to-date with the latest best practices in software design and development will benefit from taking this course.
    • Object-oriented developers: Developers who have a basic understanding of object-oriented programming (OOP) concepts and want to learn how to apply these concepts in a practical, test-driven development context.
    • Agile development practitioners: The course is designed for software development teams who are following an Agile development methodology and want to ensure that their code is maintainable, scalable, and testable.
    • Aspiring software professionals: Individuals who are interested in pursuing a career in software development and want to get a solid foundation in best practices, design patterns, and SOLID principles.

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Akshay Khanna
    Akshay Khanna
    Instructor's Courses
    Senior Software Developer at Thoughtworks 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 booksCompetitive programmer & open source contributorHave 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.
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 46
    • duration 6:36:35
    • Release Date 2023/03/18

    Courses related to Object Oriented Programming