Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Mastering Python Design Patterns

Packt via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Mastering Python design patterns is an essential skill for any developer focused on building scalable and maintainable software. This course dives deep into classic and modern design patterns, offering developers the knowledge to enhance the structure and functionality of Python applications. Understanding design patterns helps in crafting efficient, flexible, and reusable code, a must-have skill in today’s software development landscape. Throughout this course, learners will master key design principles and implement them through real-world examples. The course provides a hands-on approach, allowing learners to directly apply each pattern in practical projects. You'll work through coding exercises that progressively build your ability to design Python applications with clean architecture. What makes this course stand out is its emphasis on both traditional design patterns like those from the Gang of Four (GoF) and newer, modern patterns. You'll get not just the theory, but practical insights into using these patterns in Python, ensuring that your code is both effective and optimized for real-world challenges. This course is perfect for Python developers who already have a foundation in object-oriented programming and want to deepen their knowledge of software architecture. Whether you're an intermediate developer or looking to advance your career as a software architect, this course will provide the skills you need to level up.

Syllabus

  • Foundational Design Principles
    • In this section, we explore core design principles including encapsulation, composition, interfaces, and loose coupling to build maintainable and scalable software in Python.
  • SOLID Principles
    • In this section, we explore the SOLID principles, including SRP, OCP, LSP, ISP, and DIP, focusing on their application in Python to improve code maintainability and flexibility.
  • Creational Design Patterns
    • In this section, we explore creational design patterns in Python, focusing on factory, singleton, and prototype patterns to enhance object creation and management in software development.
  • Structural Design Patterns
    • In this section, we explore structural design patterns to enhance code organization and functionality. Key concepts include adapter, decorator, and bridge patterns for flexible and maintainable software solutions.
  • Behavioral Design Patterns
    • In this section, we explore behavioral design patterns to enhance software interaction and flexibility. Key concepts include Chain of Responsibility, Command, and Observer patterns for improved system design.
  • Architectural Design Patterns
    • In this section, we will learn architectural patterns like MVC, microservices, and event sourcing for scalable system design.
  • Concurrency and Asynchronous Patterns
    • In this section, we explore concurrency and asynchronous patterns, including thread pools, worker models, and futures, to enhance application performance and responsiveness in real-world systems.
  • Performance Patterns
    • In this section, we explore performance patterns like Cache-Aside, Memoization, and Lazy Loading to optimize application speed, memory usage, and resource efficiency in real-world systems.
  • Distributed Systems Patterns
    • In this section, we explore throttling, retry, and circuit breaker patterns to manage resource usage, handle failures, and improve system stability in distributed environments.
  • Patterns for Testing
    • In this section, we examine Mock Object and Dependency Injection patterns to improve test reliability, code reusability, and maintainability in software development.
  • Python Anti-Patterns
    • In this section, we examine Python anti-patterns, focusing on code style, correctness, maintainability, and performance to improve code quality and long-term project sustainability.

Taught by

Packt - Course Instructors

Reviews

Start your review of Mastering Python Design Patterns

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.