Design Pattern Tour: A Summary

After learning all these design patterns, I feel the design patterns themselves don’t really matter. Instead, the intent of separation(or decouple, or Single Responsibility Principle) and the idea of delegating(or composite) are the kernel. These design patterns are just some common solutions for some popular use cases in development and their ultimate goal is still to decouple the code and then to achieve a high usability and extendability.

To summarize the series, I think there are three levels of understanding design patterns:

  1. The lowest level: You should at least know which design patterns it’s using when you are reading source code.
  2. The intermediate level: You should be capable of figuring out design flaws of the project when you are reading its source code and coming up with some sketchy ideas for better design(which follows Single Responsibility Principle and Open/Closed Principle).
  3. The highest level: You can design a complete project from the requirements, while maintaining usability and extendability.

Of course, a level can be harder to achieve than its next level when you are dealing with a more complicated project.

For myself, I think I’m still at the transition phase from the lowest level to the intermediate level. This might last long because it requires an extensive reading of source code. But I will keep thinking in the design pattern way while I’m exploring the source code. Also, I will strictly apply design patterns to my own projects.

Hereby, I made a resolution. And let’s see if I can do better a year later!