टीएल; डॉ; मैं डीडीडी node.js एप्लिकेशन के पतंग उदाहरण की तलाश में हूं।डोमेन संचालित डिजाइन Node.js में अनुप्रयोग
हाय,
मैं नोड आवेदन बनाने के लिए जा रहा हूँ। मुझे आश्चर्य है कि मुझे डोमेन में अलग व्यावसायिक तर्क के साथ एप्लिकेशन का कोई उदाहरण नहीं मिल रहा है।
ठीक है, कुछ उदाहरण हैं जैसे: https://github.com/adrai/node-cqrs-domain - लेकिन यह सोर्सिंग कार्यान्वयन के साथ पूरे सीक्यूआरएस है।
मेरा विचार है कि इस तरह करना है:
//domain/book.js
function Book(title, author)
{
this._title = title;
this._author = author;
}
// domain methods ...
//infrastructure/persistance/repository/book-repository.js
function BookRepository()
{}
BookRepository.prototype.save(book)
{
var bookModel = mappers.mapToOrm(book);
return bookModel.save();
}
// [...] get, getAll, getNextId
//infrastructure/persistance/orm/book.js
//using http://bookshelfjs.org/
var Book = bookshelf.Model.extend({
tableName: 'books'
});
//infrastructure/mappers/book-mapper.js
function mapToOrm(book) {
//mapping [...]
return new persistance.Book();
}
function mapToDomain(domain) {
//mapping [...]
return new domain.Book();
}
लेकिन दूसरी ओर मैं किसी भी इसी तरह समाधान (डोमेन मॉडल, ORM मॉडल, भंडार और मानचित्रकारों से) कभी नहीं देखा। क्या मैं सही तरीके से सोच रहा हूँ? शायद node.js अनुप्रयोगों में डोमेन में व्यावसायिक तर्क को अलग करने का कोई कारण नहीं है। यदि हां, तो क्यों? यदि नहीं, तो क्या आप मुझे डीडीडी कार्यान्वयन का एक उदाहरण भेज सकते हैं या अपना कोड सुधार सकते हैं?
[2017/01/13]
मैं टाइपप्रति में नमूना आवेदन बना लिया है। अब बिना भंडार के और अधिक सेवाओं के लिए। मुद्दे और पुल अनुरोधों का स्वागत है। https://github.com/dawiddominiak/ddd-typescript-bin-packing-problem-solution
कोई कारण नहीं है कि आप जेएस में डीडीडी सामरिक पैटर्न लागू नहीं कर सके। मुख्य कारण यह है कि आपने इसे अभी तक नहीं देखा है, यही कारण है कि आपने जेएस में लंबे समय तक डिज़ाइन पैटर्न और सुरुचिपूर्ण एप्लिकेशन आर्किटेक्चर नहीं देखा है: यह एक हैकिंग भाषा थी जो कोई भी गंभीरता से नहीं ले रहा था। डीडीडी ने वास्तव में जेएस दुनिया के लिए यह रास्ता नहीं बनाया है, जब आप .NET, Java, Scala इत्यादि में प्रचार की तुलना करते हैं। – plalx
यह भूलें कि इसके मूल पर, डीडीडी को इसके सामरिक पैटर्न से परिभाषित नहीं किया गया है लेकिन यह रणनीतिक है पैटर्न: बाध्य संदर्भ, सर्वव्यापी भाषा, आदि – plalx
"" .NET, जावा, स्कैला इत्यादि में प्रचार है "हम्म या शायद उन समुदायों को प्रचार करने के लिए अतिसंवेदनशील हैं :) आप भी कई गैर अर्थ नहीं देख रहे हैं गैर उद्यमशील भाषाओं में ओओपी पैटर्न क्योंकि उन्हें बस –