Does Design Pattern Really Matter?
I am not against design patterns. I am just not its devoted follower. I think design pattern to a programming language is like grammar to the English language. I believe it is not the right tool to begin with software designing.
It said a design pattern is a general repeatable solution to a commonly occurring problem in software design. It is not accurate. Why not just make it a standard API function. A pattern should come with our solution in a natural way. To cope with a real life problem, we need to be agile and flexible. Design patterns may not be the best way. We just can not generalize solutions for various problems.
Someone said that we need design pattern. It is because issues may not become visible until later in the implementation. That is a big problem for me. As a system architect, I design software to deal with issues. If we can't see all of them before the implementation. It is a failure. Or at least, a certain percent of discount on the perfection of software quality.
It said that patterns allowed developers to communicate using well-known, well-understood names for software interactions, which might be true. We might discover patterns in a well-written system. Those patterns should not be created intentionally. Otherwise, it can make the code difficult to understand. Mostly, it happened when design pattern ideology dominated the process of business request analyze and technical design.
How does design pattern work? It is like how the grammar is working. We did not check grammar every time we speak? So, forget about patterns. Like we learned our mother tongue, just go practice and use it. Forget about the grammar. Let your innovation and creativity find the way to your code. Just design the system to handle issues, no worry about patterns.
Design patterns should come to our code naturally. After finishing our programming designing, revisit it a few weeks later. We may have "invented" a new one. As the matter of the fact, I might get one in my next article.