...is a book that assumes you know all of the GoF patterns and gives a list of times when you shouldn't use each one.
That is so true. I think what might help in the original GOF book is to put more emphasis on the "Applicability" and "Consequences" sections in each pattern. Afterall, patterns are just a bunch of trade-offs in design (e.g. the Visitor pattern makes adding new operations easy, but it makes adding new ConcreteElement classes hard), and the trade-offs need to make sense in the problem context for the pattern to be beneficial.
Something I keep reminding myself is that "complexity is not free", and meanwhile keep trying to understand the true essence of each problem in order to correctly apply the correct balance of "simple design".
...is a book that assumes you know all of the GoF patterns and gives a list of times when you shouldn't use each one.
That is so true. I think what might help in the original GOF book is to put more emphasis on the "Applicability" and "Consequences" sections in each pattern. Afterall, patterns are just a bunch of trade-offs in design (e.g. the Visitor pattern makes adding new operations easy, but it makes adding new ConcreteElement classes hard), and the trade-offs need to make sense in the problem context for the pattern to be beneficial.
Something I keep reminding myself is that "complexity is not free", and meanwhile keep trying to understand the true essence of each problem in order to correctly apply the correct balance of "simple design".