5 ms·
I feel a bit contrarian about design pattern lists. These always seem to contain a list of solutions and after some fancy gymnastics, a list of potential probl
by chapium 5y ago
I feel a bit contrarian about design pattern lists. These always seem to contain a list of solutions and after some fancy gymnastics, a list of potential problems they might solve. I feel it might be more useful to create a list of common software problems and follow them with a pattern that helps solve the problem. I think this would help address the issue of these pattern guides being applied overzealously.
- xtiansimon 5y agoCookbook?
- syntaxfree 5y agoPattern clusters would be better. Like “… so you want to design a programming language, this is the Visitor pattern, the Dispatch…”
- amardeep 5y agoReading top comments might make someone feel that this article is not worth reading, but I encourage people to actually read it. Personally I find it really interesting. For eg. reading about prebound methods here: https://python-patterns.guide/python/prebound-methods/ https://python-patterns.guide/python/prebound-methods/. Seasoned python programmers probably wouldn't find anything interesting there, but for me, it was quite useful including instances of where it is being done in python standard library and discussion around when and when shouldn't it be used.
- e19293001 5y agoI agree. The information is interesting to read and it is well written.
- Spivak 5y agoBound methods in Python are one of the keys to enlightenment to understanding its object system -- that self isn't magic and you could implement it yourself (for example having instance methods take a self, and cls parameter) if you wanted. One fun exercise is implementing an object that can "adopt" loose functions. def some_random_function(self) print(self.internal_state) ... mymagicobject.func = some_random_func mymagicobject.func() # -> prints the internal state of the object
- bmn__ 5y ago> a list of common software problems and follow them with a pattern that helps solve the problem Better yet, improve the programming language, so that any user may benefit, not just those who know about the obscure list. https://blog.plover.com/prog/design-patterns.html https://blog.plover.com/prog/design-patterns.html