Python Design Patterns: Working with Structural Design Patterns


Overview/Description
Expected Duration
Lesson Objectives
Course Number
Expertise Level



Overview/Description

Explore the design and implementation of five commonly used structural Python design patterns: Adapter, Decorator, Facade, Proxy, and Flyweight. In this 14-video course, learners examine how these patterns can be used for tasks such as working with legacy components, dynamically adding responsibilities, offering a simple client interface, controlling object access, and efficiently using lightweight resources. Key concepts covered here include design of the Adapter pattern and need for the pattern when working with legacy components; learning how to write code for the Adapter pattern to offer a consistent interface to clients; and learning design of the Decorator pattern and the importance for adding responsibilities dynamically. Continue by observing how to implement the Decorator pattern to allow adding responsibilities at runtime. Next, you will learn about the design of the Façade pattern and implementing the pattern to offer a simple interface to clients; learn to design and implement the Proxy pattern to control access to an object; and learn the design of the Flyweight pattern and how to implement the pattern to efficiently use lightweight resources.



Expected Duration (hours)
1.5

Lesson Objectives

Python Design Patterns: Working with Structural Design Patterns

  • discover the key concepts covered in this course
  • recognize the design of the Adapter pattern and when it should be used
  • recognize the need for the Adapter pattern when working with legacy components
  • write code for the Adapter pattern to offer a consistent interface to clients
  • describe the design of the Decorator pattern and its advantages
  • recognize the importance of the Decorator pattern for adding responsibilities dynamically
  • implement the Decorator pattern to allow adding responsibilities at runtime
  • describe the design of the Façade pattern and where it is applied
  • design and implement the Façade pattern to offer a simple interface to clients
  • describe the design of the Proxy pattern and list its use cases
  • design and implement the Proxy pattern to control access to an object
  • describe the design of the Flyweight pattern and why it is used
  • design and implement the Flyweight pattern to efficiently use lightweight resources
  • summarize the key concepts covered in this course
  • Course Number:
    it_pydppydj_03_enus

    Expertise Level
    Expert