© 2023 Hashnode
#design-and-architecture
Whitespace, also known as negative space, refers to the area between design elements. It is the space that is left blank or unmarked in a design, whether it is a website, advertisement, or any other f…
What are Creational Patterns and where are they used? Creational Patterns are a group of design patterns that deal with object creation mechanisms. They provide ways to create objects in a manner that…
SOLID is an acronym for the first 5 basic principles of object-oriented software design that any developer should adhere to. Following these principles will increase the project's maintainability, comprehensivity, and adaptability to Agile …
In the last article, we discussed tech stacks. Here is my preferred tech stack for the project. As a quick reminder, I'm building an IoT service with a web dashboard. Frontend: Nuxt 3, Bulma CSS, no component library Middle Tier: Nuxt 3 (…
Most of us think of TDD as a tool for software testing and verification. But if used effectively it is more than that. Since Test Drive Development (TDD) was introduced by Kent Beck it has always been…
Every web design project is unique, and it’s essential to keep that in mind when creating a new design. Yes, there are some important elements that every site has. But each project is different. The n…
// Base class public abstract class Lightsaber { public abstract void Assemble(); } // Concrete implementation of the base class public class StandardLightsaber : Lightsaber { public override…
What to expect from this series? Whether you are a newbie or an experienced programmer, you might have come across the term – “Software Design Patterns” many times in your career and would be activel…
Towards the end of last year, I became a bit obsessed with design generally. System design, UI design and more. I've had my share of failures with building sustainable or persuasive designs in the pas…
Software architecture and software design are often used interchangeably, but they are actually two different concepts in the field of software development. Understanding the difference between the two can help software developers make bett…