Domain-Driven Design (DDD)
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 = business, domain, ko, MODEL, karne, ka, approach
- Business, capabilities, PAR, focus — technical, layers, PAR, nahi
- "Ubiquitous language" — developers, aur, business, experts, ki, SAME, terminology
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.