Learn Design Patterns Out Of The Box

The Beginning Of The Design Pattern Series

Learn Design Patterns Out Of The Box

As a newcomer diving into the field of software development, I had the core programming skills to get a job. However, because of my different field of study, there was also a lot of different topics, which I had to teach myself. Among those topics were design patterns.

After learning about the various common design patterns through books
and blog post, I thought to myself:

“Why should these topics have to be so difficult to learn?”

I did not believe that it was necessary to read an entire book to understand these topics. Especially if you already had a fundamental understanding of object-oriented programing language.

Because of that, I saw it as my chance to give something back. I have therefore through the past couple of weeks been working on making my own tutorials covering the strategy and observer pattern. 

I attempt to cover the necessary content in all conceivable ways: video, blog, UML, code snippets, theoretical, and practical.

Although I have not yet covered all the relevant design patterns, I have started on the journey.

INTEGU - design-patterns-out-of-the-box

Is There A Relationship Between Complexity And Popularity?

I took the time to investigate which design patterns were the most popular based on search traffic. I believed that this would be the most relevant way of covering the design patterns one by one. Starting with the most popular.

The result of my research surprised me in terms of ranking and the “close to zero” search traffic, which some of the patterns received.

In the image above, I only included the eleven most popular design patterns. Any other design pattern besides these, receive less attention. This includes Composite, Abstract Factory, Proxy, State, Flyweight, Template Method, Iteratoretc.

Arguably some of these design patterns are practical to use in different scenarios, but I didn’t expect several well-established patterns to be totally neglected. Based on my own opinion, I see that many of the neglected patterns are more complex than the ones with higher popularity.

Example: Factory Pattern VS Proxy Pattern

Take the example of the factory pattern and the proxy pattern. The factory pattern is rather easy to comprehend, does not require extensive knowledge of object-oriented languages. Whereas the proxy pattern requires more knowledge of client-server-communication and a fundamental understanding of the proxy’s purpose as a placeholder.

On the other hand, I also see less complex patterns, such as the template method pattern, being neglected. However, in this specific case I believe that it might be because the template method is more acknowledged as an object-oriented principle than a design pattern.

“Yes, we know that we have to extend your abstract methods”

SUB-CLASSES TO SUPER-CLASSES

This sets the questions: Is there a relationship between complexity and
popularity? How come so many of them do not receive any search traffic?

Although I have my theory, I still believe that there might be more to it.

I hope that you found the blog post relevant and that you will support me in the journey through all design patterns. Who knows you might even learn something.

INTEGU - design-pattern-popularity-overview

About

Hi, I'm the Author

My name is Daniel H. Jacobsen and I’m a dedicated and highly motivated software developer with a masters engineering degree within the field of ICT. 

I have through many years of constantly learning and adapting to new challenges, gained a well-rounded understanding of what it takes to stay up to date with new technologies, tools and utilities. 

The purpose of this blog is to share both my learnings and knowledge with other likeminded developers as well as illustrating how these topics can be taught in a different and alternative manner.

If you like the idea of that, I would encourage you to sign up for the newsletter.

Cheers! 🍺

Didn't Find What You Were Looking For?

Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages
Scroll to Top
INTEGU - Cookie-consent

INTEGU uses cookies to personalize your experience and provide traceability for affiliate links. By using the website, you agree to these terms and conditions. To learn more see the privacy policy page.