Core
Where the business gains distinctive value and where careful modeling often pays off most.
DDD distinguishes core, supporting, and generic subdomains to help teams decide where deep modeling effort should go. The idea is not to glorify some areas and ignore others. It is to spend design attention proportionally to business importance and uniqueness.
In an e-commerce platform, pricing or fulfillment optimization may be strategically important, while authentication or commodity reporting may be generic or supporting. Treating them all the same can waste effort in one place and underinvest in another.
Core subdomains are central to the product's competitive advantage or identity. Supporting subdomains matter operationally but are not the core differentiator. Generic subdomains solve common problems many organizations share. The classification affects where to invest deep domain collaboration and where to buy, reuse, or simplify.
This helps teams stop over-modeling everything equally and start modeling according to business value.
Where the business gains distinctive value and where careful modeling often pays off most.
Necessary business capabilities that may still need good design but are not the main differentiator.
Common capabilities often better standardized, reused, or bought rather than modeled from scratch.
If fast reliable delivery is a differentiator, this is worth deep modeling.
Important to operations, but maybe not the main strategic differentiator.
Usually better standardized than treated as a unique modeling frontier.
Not every area needs the same DDD depth, team energy, or architectural purity.
package org.javaomnibus.ecommerce.fulfillment.core;
public final class ReservationPolicy {
}
package org.javaomnibus.ecommerce.identity.generic;
public final class AuthenticationProviderAdapter {
}