• Online, Self-Paced
Course 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 Facade 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.

Learning Objectives

{"discover the key concepts covered in this course"}

Framework Connections

The materials within this course focus on the NICE Framework Task, Knowledge, and Skill statements identified within the indicated NICE Framework component(s):

Specialty Areas

  • Software Development


If you would like to provide feedback for this course, please e-mail the NICCS SO at NICCS@hq.dhs.gov.