The Proposal design pattern is probably the most significant design pattern you've never heard of. The essence of the pattern is that real world "changes of state" are almost always agreed upon by accepting a proposal of that change that has been prepared in advance.
Over the past few months I've come to a slightly disturbing realisation - that nobody else wants my code.
Tech products are notoriously hard to use - just witness the problems experienced by a typical new user. If you are a software developer, this is a book you have to read.
This book is about the day to day tactical things you can do to make your code more readable and more maintainable. While it clearly has a SmallTalk bias (obvious, given the title), many of the Patterns identified are relevant to any environment, any language