6 Design Patterns you must know as a developer: Low Level Design Part #2

Intro This is the 3rd part of the Low level design series. Where I will introduce you to design pattern. In this post we will talk about design patterns that I found most useful because they address some very common problems. So following are a discussion on design pattern with 6 design patterns you can start using right away. Prerequisite Design patterns are instantiations of SOLID principles in one way or another. Think of SOLIDs as specifications and design patterns are their implementation. Therefore, before reading this you should definitely read THIS article on solid principles. ...

January 23, 2021 · 20 min · 4245 words · Malay Hazarika

4 design mistakes you will make as software developer: Low level design, Part #0

TL;DR Mistakes to avoid Shiping the code as soon as it works Assuming requirement of an abstraction to account for probable obscure use cases. Not slowing down in development process. ( A idea on how to slow down effectitely is mentioned below) Not knowing what cleaning the code means. ( Cleaning the code is neither adding comments nor renaming variables with longer names) Few Ideas to understand to avoid the mistakes 1. Complicated vs Complex systems: Complicated puts high cognitive load, Complex is big but it makes sense. 2. Slowdown in development phase to think about maintenance to make maintenance easy 3. Design is an iterative process. You switch between development and then design with every significant change to the system. 4. How to slow down: Go fast, implement –> Slowdown, create proper abstraction to model problem space 5. How to create proper abstraction: Integrate thinking framework of SOLID principles when thinking about abstractions of a system 6. A brief introduction to SOLID principles. ...

November 12, 2020 · 7 min · 1491 words · Malay Hazarika