Python – Design Patterns (PYTH3)

Programming, Python

Do you program in Python and want to create quality and maintainable code? Over the existence of object-oriented languages, many established practices and conventions have been developed. Many of them can be directly applied in Python, others can be adapted for Python, and some have even become part of the language.

Sign up for a practical workshop where you will try adapting classic design patterns for Python. Design patterns are demonstrated on carefully selected code samples. Try when it is more appropriate to stick to classic design patterns and when it is better to opt for a straightforward solution in Python.

COURSE LOCATION AND AVAILABLE DATES



This public course is delivered online only, so you can attend remotely without travelling to a classroom. The same course can also be delivered in person as private training at your premises.
For technically demanding courses, prepared remote labs are provided, so you do not need to install anything locally.

Unlock your employees' potential. We can adapt every course in our portfolio to your objectives and participants.
Need training at your premises or want to tailor the content and duration? We will prepare the right solution, in Czech or English.

Request customised training

Course content:

Hide details
  • Design Patterns
    1. Recurring patterns in program design
    2. Principles of object design
    3. Inheritance and composition
  • Class Instance Interfaces
    1. Object interface
    2. Classes and external interfaces
    3. Interface and inheritance
  • Specific Features of Python Language
    1. Polymorphism and duck typing
    2. Object-oriented data model
    3. Standard operations on objects
    4. Language philosophy
  • Instance Creation (creational patterns)
    1. Factory
    2. Builder
    3. Singleton
    4. Prototype
    5. Command with (RAII)
  • Structural Patterns
    1. Bridge
    2. Facade
    3. Adapter
    4. Decorator
    5. Proxy
  • Instance Behavior Patterns (behavioral patterns)
    1. Chain of responsibility
    2. Command
    3. Iterator
    4. Generator
    5. Mediator
    6. Observer
    7. Servant
    8. Visitor
    9. Template method
  • Other Patterns
    1. Parallel processing
    2. Asynchronous event loop
    3. Mixin and multiple inheritance
    4. Threads and processes
    5. Transactional processing
  • General Recommendations
    1. Selection of design patterns
    2. Choice of language tools
    3. Attribute descriptors
    4. Backward and forward compatibility
Prerequisites:
Knowledge of basic programming in Python
Recommended previous course:
Python – Advanced Techniques (PYTH2)
Schedule:
3 days (9:00-17:00)
Price per person:
672.00 € ( 813.12 € incl. 21% VAT)

Training and learning environment