Design patterns in Python - course 1990 RUR. from Stepik, training 130 lessons, Date: November 30, 2023.
Miscellaneous / / December 03, 2023
The course provides a comprehensive overview of Python design patterns in practice. This course covers patterns through:
- using the latest version of Python
- using modern programming approaches: dependency injection, reactive programming, etc.
- using modern development tools such as PyCharm
- discussions of different variations of patterns and different approaches
In this course we will look at all the design patterns from the Gang of Four book, as well as their various modern variations with amendments and the use of features of the Python language.
What are design patterns?
Design patterns are typical solutions to typical problems. They were first put into circulation in 1994 with the publication of the book Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, John Vlissides, Ralph Johnson and Richard Helm (often referred to as the gang four).
The original book was written using C++ and Smalltalk, but since then the design patterns have been adapted to all known programming languages: C#, Java, Python and even those languages that, strictly speaking, are not object-oriented, such as Java Script.
In fact, we see design patterns everywhere: in any libraries, we see them built into the programming languages themselves. So you don't even always realize you're using them.
What patterns are covered in the course?
The course covers all the design patterns from the Gang of Four book. Here is the complete list of topics:
- SOLID Design Principles: Single Responsibility Principle (SRP), Open/Closed Principle (OCP), Liskov substitution principle (LSP), interface separation principle (ISP), dependency inversion principle (DIP)
- Spawning Patterns: Builder, Factories, Prototype, Solo
- Structural patterns: adapter, bridge, linker, decorator, façade, opportunist, proxy
- Behavioral patterns: dependency chain, command, interpreter, iterator, mediator, custodian, observer, state, strategy, template method, visitor
Who is this course for?
This is a course for experienced (at least very familiar with Python) developers who want to get acquainted with modern implementations of patterns (and not just outdated ones from the books).
Course presentation style
This course is presented as a large video series of coding demos in PyCharm rendered using the Kinetica engine. Kinetica removes the visual clutter of the editor, focusing you on the code. Most demos come with a single source code file, so you can download it and run it right away in PyCharm, IDLE, or wherever.
There are no UML diagrams in this course. All demos are live programming.
Initial requirements
good knowledge in Python
6
coursesWorked with the .NET platform since 2003. Professionally engaged in software design and implementation for more than 10 years, mainly on the .NET platform. Certified WPF and WCF specialist. Public speaker at Moscow .NET meetups and conferences.
The most important thing that characterizes my courses is the squeezing of the essentials. I don’t like thoughts spreading throughout the tree (if it’s about nothing). Brevity is the sister of talent and I believe that in the modern era of information overload it is necessary focus on the most important thing and filter out the “extra” until this “extra” is really not will be needed.