How to create better code using Domain-Driven Design

March 23, 2020
  112
How to create better code using Domain-Driven Design
In this post, I am going to present how you can use domain-driven design tactical patterns like value object, entity, repository, domain event, factory, and domain service, to write better code. By better code I mean code that is more readable, easier to reason about and maintain. We will start with business requirements, then we will have a look at implementation that does not use domain driven design and has an anemic model, then we will analyze problems related to such approach and compare it with code build with help of domain-driven design tactical patterns.

Hot Vacancies

Middle .Net developer

Levi9
.NET Core

We are looking for Middle .Net developer. Our client is a company that serves the terminals around the world!

Backend developer

Healthcare
.NET Core

We are an Irish product company “OneView Healthcare” and we are looking for backend developer!

Lead Software Engineer at ServiceTitan

ServiceTitan
.NET Core

ServiceTitan is a leading mobile, cloud-based software platform that connects home service companies with value-added products and services. In 2018 the company raised $165 million in Series D funding and became a unicorn startup. 60% of the working time of an Engineer will be devoted to the development, 40% - to the work on requirements, mentorship, and supervision. You will work on new features and products.

SharePoint Developer

.NET Core

Transfer the software from SharePoint 2010 to SharePoint Online.

.NET Developer

AllStars-IT
.NET Core

Our client – Varonis Systems is the leader in unstructured and semi-structured data governance software, which is any human generated data that is within a company’s environment. Their goal is to protect companies most sensitive information from insider threats and cyber attacks. They do this by allowing organizations to analyze, secure, manage, and migrate their volumes of unstructured data.They value passion, creativity, desire to learn new complex technical areas, agility and accountability. Join a team that is set up to innovate, create and lead from the ground up.

View all vacancies