2012-02-16 11 views
5

डोमेन संचालित डिज़ाइन के साथ डबलिंग, मैंने अपने डोमेन मॉडल के भीतर कुल जड़ों की पहचान करने के तरीके के बारे में एक स्थिति में भाग लिया है।डोमेन मॉडल में कुल जड़ों की पहचान कैसे करें?

मैं निम्नलिखित तीन वर्गों, एक सरल करने के लिए सूची मॉडलिंग:

  1. एक अद्यतन केवल एक के संदर्भ में मौजूद है:

    public class List { 
        private IList<Task> _tasks; 
    
        public List() { ... } 
        public string Name { get; set; } } 
        public IEnumerable<Task> Tasks() { ... } 
        public void AddTask(string descr) { ... } 
        public void RemoveTask(Task t) { ... } 
        public Task GetRandomTask() { ... } 
    } 
    
    public class Task { 
        private IList<Update> _updates; 
    
        public Task(string descr) { ... } 
    
        public string Description { get; } 
        public bool IsClosed { get; } 
        public IEnumerable<Update> Updates() { ... } 
        public void AddUpdate(string descr, bool close) { ... } 
    } 
    
    public class Update { 
        public Update(string descr) { ... } 
        public string Description { get; } 
    } 
    

    मैं मॉडल के बारे में निम्नलिखित कह सकते हैं टास्क।

  2. एक कार्य केवल सूची के संदर्भ में मौजूद है।

सूची, इसलिए, केवल एकमात्र समग्र रूट प्रतीत होती है। (वास्तव में मेरी डेटा एक्सेस लेयर केवल सूची ऑब्जेक्ट्स के लोड/सेव की अनुमति देगी।) हालांकि मैं नहीं देख सकता कि मैं यूआई को कैसे साफ़ कर सकता हूं जो वर्तमान में मेरी टास्क क्लास पर सूची वर्ग पर मौजूद है। फिलहाल मेरी लिस्ट क्लास टास्क ऑब्जेक्ट्स के संदर्भों को सौंप रही है, जिससे कॉलर उन्हें संशोधित कर सकता है।

क्या यह दर्शाता है कि कार्य भी एक समग्र जड़ है, भले ही इसका अस्तित्व किसी सूची में निर्भर है?

अग्रिम धन्यवाद।

+1

संबंधित प्रश्न: [डीडीडी: कुल रूट की पहचान] (http://programmers.stackexchange.com/questions/150196/)। –

उत्तर

5

वॉन वर्नॉन में 3 part article कुल डिज़ाइन के बारे में है जो आपकी समस्या पर कुछ प्रकाश डाल सकता है।

+0

उपयोगी लिंक के लिए धन्यवाद। – rob