Design Patterns In Python OOP for Software Architecture

Master 23 Gang of Four design patterns using Python to enhance your software design skills and improve project flexibility and maintainability.

  • Overview
  • Curriculum
  • Instructor
  • Review

Brief Summary

This course dives into the 23 design patterns from the Gang of Four book, helping you understand how to implement them in Python. Perfect for leveling up your software design skills, it’s practical, hands-on, and super applicable for real-world projects.

Key Points

  • Covers all 23 Gang of Four design patterns
  • Focus on Creational, Structural, and Behavioral patterns
  • Includes Python code implementations for each pattern
  • Great for enhancing software design skills
  • Prepares you for software design interviews

Learning Outcomes

  • Understand and apply all 23 design patterns in Python
  • Improve object-oriented design skills
  • Gain confidence for technical interviews
  • Learn best practices for flexible and maintainable software
  • Explore Python source code for better implementation insights

About This Course

Design Patterns In Python OOP for Python Projects Software Architecture Using GoF Design Patterns System Analysis UML

This "Design Patterns In Python" course covers all 23 Gang of Four ( GOF ) design patterns with Python code implementation.

Why learn Design Patterns

  • Industry requires great software designers

  • Demand for Software Design Skill is high

  • For flexible and extensible software design

  • To enhance the Object Oriented Software design skill

  • To Develop/Understand the design of software product

  • Moving up in Technical ladder by having great tech skill

  • Well prepared for interview

Design and architecture of any software/solution provides the base and makes it flexible, extensible for future requirements. A good designed software/solution makes it easy to understand and maintain. Design patterns are known as best practices to design software for problems which are repeated in nature. 

This course is second one in my complete Python Design and Development course series-

  • Advanced Python : Take Your Python Skills To The Next Level

  • Design Patterns In Python Made Simple

This "Design Patterns In Python" tutorial gives you understanding of all 23 design patterns described in Gang Of Four book - "Design Patterns: Elements of Reusable Object-Oriented Software", by Gamma, Helm, Johnson and Vlissides.

This Design Patterns through Python course covers :

Creational Design Patterns : Abstract Factory, Builder, Factory Method, Prototype, Singleton

Structural Design Patterns : Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy

Behavioral Design Patterns : Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor

Here is the course content-

  • Introduction to Design Patterns

  • Creational Design Patterns

  • Structural Design Patterns

  • Behavioral Design Patterns

In this Design Patterns using Python course, each design pattern is explained in a simple way with intent, problem, solution and structure. Also the information of participants, collaboration, consequences and code implementation are explained for each one. The design pattern structure or example implementation of Python source code are explained to understand how it will be implemented using Object Oriented features of Python. 

This Design Patterns with Python course also provides Python source code of each design pattern to understand it in better way. This helps in applying the variation on implementation to see how it can resolve some other implementation bottleneck. There are 125 quiz questions on Creational, Structural and Behavioral design patterns to check your understanding. 

I have used Free PyDev for Eclipse, you can use any Python IDE/Environment.

This "Learn Design Patterns In Python" online course on udemy will help to understand the best practices for design and apply them to do the better design of software projects/solutions in Python. It will also help you to prepare well for Design Patterns in Python interview questions. Knowledge of design patterns increases the capability to address interview questions of software design.

It will be good to have the Gang Of Four book - "Design Patterns: Elements of Reusable Object-Oriented Software", by Gamma, Helm, Johnson and Vlissides as a reference book for this course. 

Design Patterns In Python free source code implementation is available in pdf to download.

What Students Say-

"Solid exposition of design patterns."

"The material is very clear so far and explained well."


So what are you waiting for, click on Buy button to enroll now and start learning.

  • 23 Python design patterns described in Gang of Four ( GOF ) book

  • Python design patterns implementation understanding

  • Python source code of each design pattern

Course Curriculum

Instructor

Profile photo of Suresh Kumar Srivastava
Suresh Kumar Srivastava

Industry Experience  Industry experience of 18+ years.Worked on system side includes Driver, Compiler, Linker, Debugger, IDE, System Utilities, System Management.Worked on architecture and design of various products and tools.  Author  Author of popular book on C language "C In Depth" and on Data Structures "Data Structures Through C In Depth".  C In Depth, S K Srivastava, Deepali Srivastava, BPB Publications,...

Review
4.9 course rating
4K ratings
ui-avatar of Dheeraj Jaiswal
Dheeraj J.
2.0
3 years ago

Did not like the way of explaining the concepts.

  • Helpful
  • Not helpful
ui-avatar of Daniel Santos
Daniel S.
3.5
4 years ago

Good content, terrible accent.

  • Helpful
  • Not helpful
ui-avatar of Pete K
Pete K.
0.5
7 years ago

Really hard to understand. From what I did hear, slides were basically just read back and I didn't understand how I was going to learn about design patterns and how that also related to Python.

  • Helpful
  • Not helpful
ui-avatar of Gerrard Butler
Gerrard B.
2.5
7 years ago

Difficult to understand the presenter.

  • Helpful
  • Not helpful
ui-avatar of Mark Biegert
Mark B.
5.0
8 years ago

Solid exposition of design patterns.

  • Helpful
  • Not helpful
ui-avatar of kaueh moreno
Kaueh M.
0.5
8 years ago

Muito dificil de entender o idioma dado a dicção muito ruim do professor

  • Helpful
  • Not helpful
ui-avatar of Tony Rambone
Tony R.
2.5
8 years ago

PRO] The quiz sections gave a way to review the intent of the design patterns and when it was used. Code sections provided some examples on how the design pattern flows, see it in action and play with how the pattern worked to learn. I learned a lot but had to go outside the course A LOT to fill in details, etc.

[CON]
Instructor's English is really hard to understand. I had to enable the closed caption feature. At first, I was disappointed that it was not available for the code sections. However, I found it was not an issue on the most part since he just read the code line by line.

As mentioned, I found that I had to go outside the course a lot. To explain, the sections just needed more info: 1) details/reasons for his class interaction 2) analogies to reinforce the intent of the design pattern (the Factory Method Analogy was confusing, site listed below, has a better example) 3) Explain how to implement the design pattern in practice. For instance, the Command pattern left out details on implementation. The reason I feel this way I had to use other resources to explain the pattern implementation. Luckily, I stumbled onto the below site, it that gave a great analogy, waitress took an and then the chef cooked the food. The site pointed out that two clients should be used to implement the Command pattern. It explained how, client one was the act of: 1) waitress --concreteCommand class-- 2) taking the food order --Receiver class--, i.e. saving the food order. Then the second client was the act of: 1) putting the order into the short order chef --Invoker class--. 2) Then him cooking the food, executing the command --Invoker.ExecuteCmd(). This class was missing this.

Also, it mostly seemed like the instructor was reading the material from a book via memorization rather than explaining from understanding. The reason I felt this way is because: 1) he just reads the code or straight from the slides without explaining reasons behind the design pattern and 2) how the classes worked together, etc as explained above. 3) Further, I had to use github code and other web pages for 16 of 23 design patterns covered in this class to address said issues. The reason, I did this is to 1) understand how to use/implement them in practice because he does not explain them well at times, 2) understand why the classes are structured in the pattern to solve the problem or 3) the code was not written clear in some sense. Look at the Memento code example: 1) The Execute method actual changes the state from zero to one in the originator. In practice, you would not do that when implementing the Memento pattern. 2) Also, method names are poorly chosen. I'd call the Execute method Save or SaveState. Likewise, I'd call the Unexecute method Undo or Restore. As a second example, the Factory method only had code for one product. I went out to github to understand where/how the code would controls how product one vs. product two is chosen/created/initialized in practice...

The site I used to supplement this course was https://sourcemaking.com/design_patterns. If the course could be updated with 1) the analogies and explanations in the spirit of sourcemaking.com or github examples. 2) rethink class/variable names to fit the pattern and analogy examples 3) explain from understanding not memorizing or repeating a book. 4) Rather, explain how to implement the patterns realistically in practice (not like Execute() in Momento Code). Then future students could learn a lot quicker and efficiently, making this a 5 out of 5 star class.

  • Helpful
  • Not helpful
ui-avatar of Brian Coulter
Brian C.
3.0
9 years ago

I find the lecturer's speech hard to follow.

  • Helpful
  • Not helpful
ui-avatar of Troyldavid@outlook.com David
Troyldavid@outlook.com D.
2.0
9 years ago

Cannot understand the trainer very well.

  • Helpful
  • Not helpful
ui-avatar of Julie Schenk
Julie S.
4.0
9 years ago

The material is very clear so far and explained well.

  • Helpful
  • Not helpful
Leave A Reply

Your email address will not be published. Required fields are marked *

Ratings

Courses You May Like

Lorem ipsum dolor sit amet elit
Show More Courses