Computer science students and professionals, use the term Software Design Patterns, quite frequently, and use many design patterns in coding business.
This is a short note just for the sake of conceptual clarity and mental mapping of design patterns.
Just imagine, you are interacting with your facebook wall or WhatsApp chat, on your phone. Its a list of cards which may have clickable and/or swipe-able areas.
Let’s map this list for defining design patterns and map them over our basic high school concepts:
Arrangement of elements is Design.
Repetition of design is Pattern.
Gestures like touch, click, swipe, rotate etc. are computer interaction design patterns e.g. Swipe is an arrangement of touches.
Top Navigation bar, bottom navigation bar, Navigation drawer, Menu, ListView, Collection View etc. are User Interface design patterns.
And what are Algorithms? — — Logic design patterns. Yeah! really :)
Data structures are memory design patterns e.g. a linked list is a pattern of addresses, each address having a design of bytes.
Bytes are an arrangement of 0s and 1s.
0s and 1s are arranged in the form of charge in capacitors in Ram.
Ram is hardware design pattern i.e. an arrangement of transistors.
Transistors are an arrangement of diodes i.e. P-N and N-P diodes.
Diodes are design patterns of atoms e.g. Boron, Silicon, Arsenic.
Atoms are design patterns of elementary particles.
See you soon with some other thoughts….