I'm using refactoring.guru/design-patter in my software development course. It's pretty good and, in the words of the late Portland TV pitchman Tom Peterson, "free is a very good price".

I have two concerns:

Rather than just working through the original Gang of Four list, would it be more meaningful to talk about ideas that come up in several of these patterns, like interfaces, delegation, and composition?

How do design patterns change when working in a language like Python rather than C++ or Java? There might be better solutions to some of these problems in a world with duck typing, higher-order functions, optional named arguments, etc.

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.