


If you ever had to figure that out, you know very well that this task is extremely hard, and the result is never perfect because you have to take into account ALL the possible ways your project could evolve into in the future and that's simply not possible. I remember all these sleepless nights and long showers when I was thinking about the best way of structuring my repo.

The simplest explanation of DDD gaining more and more popularity is that it’s a dead-simple pattern that in most cases leads to significant improvements in one of the hardest and most painful areas of programming - code maintainability. While the DDD concept comes from Object-Oriented Programming and relies on classes and their relations its core concepts can be easily applied in any other paradigm. For example within the eCommerce domain we can have subdomains such as product catalog, customers, orders, inventory etc. It means that you should structure and group your code based on your main business domain (the “problem”) and its subdomains (categorized parts of the problem). In this article we will focus on theory and Nuxt implementation.ĭomain-Driven Design (DDD) is the concept that prioritizes business concepts over other types of classification in your codebase (like grouping by file type).

I will show how to apply these patterns both in Nuxt and “vanilla” Vue projects. In this mini-series I want to share some of the patterns that worked for us in Vue Storefront and can be easily applied in any Vue application. Utilizing this approach can lead to significant improvement in areas related to the maintenance and complexity of your codebase. I’ve been experimenting with Domain-Driven approach in Vue apps for quite some time already in Vue Storefront and Vue Storefront Next.
