Understanding software design patterns

If you are a programmer or a student pursuing computer science or a similar discipline, sooner or later, you will encounter the term “software design pattern.” According to Wikipedia, “a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design.” Here is my take on the definition: When you have been working on a coding project for a while, you often begin to think, “Huh, this seems redundant.

Source: LXer – Understanding software design patterns