🗺️
Service Design & Decomposition

Domain-Driven Design (DDD)

Modeling Around Business Domains
💡 DDD, EK, "CITY, PLANNING" jaisa, hai — SERVICES, ko, RANDOM, TECHNICAL, LAYERS, (jaise, "database, service") ke, hisaab, se, DIVIDE, karne, ke, BAJAYE, REAL-WORLD, BUSINESS, "NEIGHBORHOODS" (jaise, "orders", "inventory") ke, hisaab, se, DIVIDE, kiya, jaata hai.

DDD, EK, APPROACH, hai, SOFTWARE, DESIGN, ka, JO, BUSINESS, DOMAIN, ko, MODEL, karta hai — MICROSERVICES, boundaries, decide, karne, ke, liye, EXTREMELY, POPULAR, hai, kyunki, YE, TECHNICAL, LAYERS, (jaise, "database, layer") ki, JAGAH, BUSINESS, CAPABILITIES, PAR, focus, karta hai.

"Ubiquitous, Language" DDD, ka, EK, KEY, CONCEPT, hai — DEVELOPERS, aur, BUSINESS, EXPERTS, SAME, TERMINOLOGY, USE, karte, HAIN, MISCOMMUNICATION, avoid, karne, ke, liye.

// Technical layers, ke, hisaab, se, DIVIDE, karna (BAD, for, microservices):
// - presentation-service, business-logic-service, data-access-service

// Business domain, ke, hisaab, se, DIVIDE, karna (GOOD):
// - order-service, inventory-service, shipping-service
🗺️
DDD, EK, "CITY, PLANNING" jaisa, hai — SERVICES, ko, RANDOM, TECHNICAL, LAYERS, (jaise, "database, service") ke, hisaab, se, DIVIDE, karne, ke, BAJAYE, REAL-WORLD, BUSINESS, "NEIGHBORHOODS" (jaise, "orders", "inventory") ke, hisaab, se, DIVIDE, kiya, jaata hai.
1 / 2
⚡ झट से Recap
  • DDD = business, domain, ko, MODEL, karne, ka, approach
  • Business, capabilities, PAR, focus — technical, layers, PAR, nahi
  • "Ubiquitous language" — developers, aur, business, experts, ki, SAME, terminology
इस page में (2 subtopics)

DDD, mein, "aggregate, root" ek, entity, hai, JO, related, objects, ke, ek, cluster, ke, liye, ENTRY, POINT, hai — jaise, EK, Order, aggregate, root, ho, sakta hai, JISME, OrderItems, INCLUDE, hain — DUSRE, code, se, ISE, HAMESHA, Order, ke, through, hi, ACCESS, kiya, jaata hai, DIRECTLY, OrderItems, se, nahi.

// Order = aggregate root
class Order {
  #items = [];
  addItem(item) { this.#items.push(item); }   // controlled, access
}

Anti-corruption, layer, EK, TRANSLATION, layer, hai, EK, LEGACY, system, YA, EXTERNAL, service, ke, DIFFERENT, model, ko, apne, service, ke, CLEAN, domain, model, mein, CONVERT, karne, ke, liye — LEGACY, system, ki, "MESSINESS" ko, apne, service, mein, LEAK, hone, se, ROKТA, hai.