Design Patterns — From a Software Architect’s Perspective

Credits —

Few days ago, while answering a question from, one of my young colleague, during a training session, I just tried to explain architecture of a mobile application from a right angle.

“What are data structures — Just a design pattern of memory. By arranging memory in different ways, we’ve discovered what are the pros and cons of organizing memory in a particular way-like Linked List, Tree or stack etc. and have found which arrangement is optimal to use in which use case.” I found myself saying.

Suddenly, an idea bell, rang in my head. Oh! I never thought, like that, before. I was caught by the idea and next morning came up with this.

In next few days, the idea crystallized in my mind as a concept.

If design is an ‘arrangement of elements’ & ‘repetition of design’ is a pattern, just imagine with me:

Elementary particles arrange in a certain way to form atoms, which repeat themself to form an element.

Elements arrange in a design to form compounds or alloys, which in turn form soil, sand, rocks and water reservoirs.

The whole landscape of our or any other planet is an arrangement of these building blocks i.e. soil, sand, water, rocks/mountains etc. Even if some other planet has frozen Carbon Dioxide or some other element, its just an arrangement of compounds.

Now, let’s zoom out a bit — -

Solar system of our Sun or any other star, is an arrangement of planets, with each planet having a design consisting of its moons.

A galaxy is a repetition of stars and

Our universe is a design, composed by different galaxies arranged in certain way.

The term design patterns was first used by civil architects to recommend certain arrangements of building blocks as a time tested solution of a particular requirement. It was later adopted by software engineering. Almost every software engineering student is aware of 3 types of software design patterns i.e. creational, structural & behavioral.

What if you try to apply the idea of Design Patterns, on some other component or vertical of your observation, like forests, sea, living organisms etc. etc.

For example don’t you think different phyla represent a particular design pattern in living beings?

Don’t you think, God has designed this universe in the form of repeating building blocks, including me and you?

Don’t you think, God was thinking in terms of Design Patterns, when he created this Universe?




Poet, Dreamer, Founder, Educator, Software Engineer, Project Manager & Trainer

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Firebase Admin Auth Link Expiration Times

VB: URL Query Parameters

200, 301, 404, 500 & 505 - what are the most popular HTTP Status Codes?

200 OK, 301 Moved Permanently, 400 Bad Request, 500 Internal Server Error

Five Easy Steps to create Business Cards by yourself.

Empex 2017 Meetup Recap

2D rigidbody movement using velocity in Unity

Using Headless CMS for Your Web App Backend

Adding security layers to your App on OpenShift - Part 2: Authentication and Authorization with…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Sharjeel Nisar

Sharjeel Nisar

Poet, Dreamer, Founder, Educator, Software Engineer, Project Manager & Trainer

More from Medium

How To Rescue Software Projects And Why They Fail

Do you perform reviews?

The Magic Key To A Successful Agile Project

Exploring Design Patterns — Composite Pattern (Basic Arithmetic Expression)