Image for post
Image for post
Photo by Ben on Unsplash

Doctrine Embeddable is really handy. Using it we can create better and more cohesive Domain Model.

What is a Doctrine Embeddable?

Embeddable let’s you aggregate some properties, that are linked together in some way, into one cohesive class. …


Image for post
Image for post

What actually is a “Rich Domain Model”?

Rich Domain Model is what Object Oriented Programming is most suitable for. As we know, OOP helps us, developers, to link behavior (methods) with data (properties) using classes. Unfortunately, often Entities end up as adapters for a database with lots of getters and setters modifying private properties with almost no business logic. …


At the beginning there was chaos, probably the very first big ball of mud :).

Image for post
Image for post
Imagine adding new wire to add new feature to this.

When I started programming, the only thing that used to matter to me was the effect of it. It was fine, as it got the job done and delivered business gain. But as the software I worked on became more complicated, I’ve started to see the downsides of not pre thinking the structure of code and overall software architecture.

When you start learning new framework at the beginning of your software development journey, you don’t think of consequences of coupling anything with anything. You just throw anything you need, anywhere you need. Well, when your app is just a simple CRUD with not complicated (or even none) business logic, it’s fine. But when you are creating an application with a more complicated domain which is something more than just an interface for a database, you should be more concerned about what you are using in which layers. …

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