While I have been long familiar with Design Patterns in software development and find myself using a reasonably broad pattern language in my daily work, I had not until recently been made aware of the Simpleton Pattern.
I shared my new found knowledge with my colleagues and found great enthusiasm for it and their hopes for its proper inclusion in the literature. A quick consultation with Google and I see that there is a significant body of knowledge about Simpleton.
Nevertheless it has proven hard to find agreement on its specific characteristics.
If you do your own research you may be led to believe that Simpleton is an anti-pattern. It has also been noted that Simpleton is best suited to the BBM architectural style. Some engineers at Atlassian maintain that the Simpleton characterises properties of developers themselves rather than of the software.
At first it may seem that implementing Simpleton requires great skill and attention to detail. In fact the opposite is true! Simpleton doesn’t require special training or framework support.
In fact if you look at some of your own legacy code you may be surprised to see that you have in fact unwittingly produced several implementations yourself. I know I have!
So I make this post in the hope that as a community we can grow our understanding of this important pattern. Next time you review some code check for the signs. You’ll know it when you see it.
Everything should be made as simple as possible, but not simpler. – Albert Einstein