I'm using https://refactoring.guru/design-patterns 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.
#SoftwareDevelopment #DesignPatterns #Java #Python #oop #ObjectOrientedProgramming #FunctionalProgramming
@peterdrake Nuance? How dare you!