Home » Tag Archives: Design Patterns

Tag Archives: Design Patterns

Should we always use TDD to design?

Can design emerge from TDD? Should we always use TDD to design software? Should we design upfront? How much design should we do and when? Those are common questions that often generate a lot of debate. People involved in those debates often have very different definitions of design and also the scope where it happens. It is difficult to have ...

Read More »

Design pressure on engineering team ?

How many times are you supporting or developing system and felt it could have been better designed? Move fast and break things culture in software has allowed engineering team to get product early to market but has created huge Tech Debt that team has struggled to come over. Engineering team is put under feature pressure to get the things done ...

Read More »

Bounded Context in my view

In this article, I will share my point of view about Bounded Context. I will try to answer questions like what does it mean and why is it required. We will also try to examine the connection between Bounded context and Microservices. I will try to keep it as simple as possible. This article targets to that audience who will ...

Read More »

Creational Design Patterns: Prototype Pattern

The prototype pattern is used in order to create a copy of an object. This pattern can be really useful especially when creating an object from scratch is costly. In comparison with the builder, factory and abstract factory patterns it does not create an object from scratch it clones/recreates it. In comparison with the singleton pattern it creates multiple copies ...

Read More »

Creational Design Patterns: Singleton Pattern

The singleton design pattern is a software design pattern the restricts the the instantiation of a class to one object. In comparison with other creational design patterns such as the abstract factory, factory and the builder pattern the singleton will create an object but will also be responsible so that only one instance of that object exists. When creating a ...

Read More »

Creational Design Patterns: Builder Pattern

Previously we had a look at the factory and the abstract factory pattern. Those patterns serve their purpose and can be really useful however there are use cases where we have to create a very complex object and creating it requires different steps each one requiring different actions. In such cases the builder pattern can be really useful. The builder ...

Read More »

Creational Design Patterns: Factory Pattern

Previously we had an introduction to the Creational Patterns and used the Abstract Factory Pattern in order to create a families of objects. The next pattern is the Factory Pattern. Factory pattern is one of the most used patterns when it comes to Java. So what is the Factory Pattern all about? The factory pattern deals with creating objects without ...

Read More »

Creational Design Patterns: Abstract Factory Pattern

The Abstract Factory Pattern is a creational pattern and is one of the most popular patterns along with the builder and the factory pattern. Creational patterns are used in order to create objects instead of creating objects directly using a constructor. The Abstract Factory Pattern provides a way to encapsulate a group of individual factories that have a common theme ...

Read More »

Isolating the Domain Logic

In one design patterns class, I had an interesting discussion about modelling domain logic. Specifically, it was about isolating the domain logic. An application would typically be divided into three parts: Presentation (e.g. desktop GUI, browser, web service) Domain logic Infrastructure (e.g. persistence storage, e-mail) The class found it interesting that the dependency arrows were pointing towards the domain logic ...

Read More »