The monolithic but modular architecture can be a great choice. Especially for most of the new projects because it helps quickly and cheaply verify the idea.

In one of my previous articles, you can read about modularising Laravel applications. Here I will discuss communication between modules.

When building an application using a monolithic architecture, we want to preserve its advantages, simultaneously avoiding common pitfalls.

The biggest disadvantage of a monolith is susceptibility to becoming the big ball of mud, full of tangled interdependencies, and deprived of clear boundaries between modules. We should also take into consideration the fact that we…

The Propagator pattern is a considerable solution for solving problems that require graph elements to communicate with each other in the world of Domain-Driven Design.

Implementation of the solution which allows elements of a graph to communicate is not an easy task and can lead to maintenance problems. That’s why the Mediator design pattern was invented and also successfully applied in numerous projects. But to be even more useful in the code, which is composed of Domain-Driven Design building-blocks, it has to be extended and modified. …


One of the most prominent, if not even the most prominent term in Domain-Driven Design is Bounded Context.

If you are familiar with DDD that term and it’s meaning, then it should sound familiar, but for those who do not feel comfortable with Bounded Contexts, I will provide a short and highly simplified explanation:

Bounded Context is a part of a domain for which our software should model. Ideally, it’s aligned with one of its subdomains (in short, separated parts of the system/application). Within one Bounded Context, one specific term should have its single concrete meaning.

However, it can be…

Joining two separate worlds.

If You are a PHP developer, interested in Domain-Driven Design, but You are not certain how to combine this approach with undoubtedly the easiest to use PHP framework, or You want to meet another point of view on Laravel and frameworks generally, then this series is definitely for You.

Domain-Driven Design is not a new approach, which however became very popular in recent years, and obtained a lot of fans, including myself. As we can notice it took by the storm the many complex software projects and also many developer’s minds, even though it’s still rising in popularity.

On the…

Łukasz Franikowski

Self-taught software developer, focused on software architecture and Domain-Driven Design, with a problem-solver personality.

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