उदाहरण के लिए, हमारे पास दो डोमेन ऑब्जेक्ट्स हैं: सेल एंड बॉडी (मानव सेल और बॉडी में)।डोमेन संचालित डिज़ाइन में जब कोई इकाई स्वयं क्लोन करता है जो इसे अपने कंटेनर में जोड़ती है?
बॉडी क्लास केवल सेल का संग्रह है, उदा।
class Body
{
IList<Cell> cells;
public void AddCell(Cell c) { ... }
public void RemoveCell(Cell c) { ... }
}
सेल एक विभाजन विधि है, जो आंतरिक रूप से खुद का क्लोन पैदा करता है, उदाहरण के लिए है
Class Cell
{
public Cell Split()
{
Cell newCell = new Cell();
// Copy this cell's properties into the new cell.
return Cell;
}
}
अब, DDD में जब सेल विभाजन चाहिए:
- सेल शरीर (जो मतलब यह होगा कि प्रत्येक सेल ऑब्जेक्ट को उसके युक्त शरीर के लिए एक संदर्भ आयोजित) के लिए बनाए गए नए सेल जोड़ सकता हूँ?
- या सेवा परत को प्रारंभिक उपयोगकर्ता अनुरोध कॉल स्प्लिट प्राप्त करना चाहिए, लौटाया सेल एकत्र करें और इसे शरीर में जोड़ें? (डोमेन ऑब्जेक्ट्स के बजाए नियंत्रकों का उपयोग करके अधिक एनीमिक डिज़ाइन की तरह लगता है)
- या क्या शरीर में स्प्लिटसेल विधि होनी चाहिए?
अग्रिम धन्यवाद।
सेल विभाजन एक मामूली अंतर के साथ सेल की एक सटीक प्रति बनाता है। सिस्टम के भीतर एक और अभिनेता जो केवल कोशिकाओं के बारे में जागरूक है, विभाजन को ट्रिगर करता है। यह अभिनेता वास्तव में शरीर के अस्तित्व के बारे में नहीं जानता है। – ng5000
अजीब उदाहरण मॉडलिंग के वास्तविक डोमेन की तुलना में व्याख्या करना आसान है। मैंने उस समस्या का एक सरल सार उदाहरण के साथ आने की कोशिश की जिसके साथ मैं काम कर रहा हूं। – ng5000