मैं अपने डीएएल को अपने बिजनेस लेयर से अलग करने की कोशिश कर रहा था, और ऐसा करने में, मैंने किसी भी ActiveRecord दृष्टिकोण को छोड़ने और डेटामैपर दृष्टिकोण के लिए जाने का निर्णय लिया। दूसरे शब्दों में, मेरे डोमेन ऑब्जेक्ट्स स्वयं को बनाए रखने का ख्याल नहीं रखेंगे। ऐसा करने में, मैं "एनीमिक डोमेन मॉडल" एंटी-पैटर्न पर अतिक्रमण कर रहा हूं। उदाहरण के लिए, मेरे कार्यक्रम में इकाइयों में से एक संगठन है।एनीमिक डोमेन मॉडल से निपटने
एक संगठन कुछ इस तरह के रूप में प्रस्तुत किया जाता है:
class Organization {
private $orgId;
private $orgName;
// getters and setters
}
तो मूल रूप से इस संगठन (मार्टिन Fowler का कहना है के रूप में) कुछ डेटा के लिए "बैग" के रूप में कार्य के अलावा अन्य कुछ नहीं करता है। PHP दुनिया में यह एक गौरवशाली सरणी से अधिक कुछ नहीं है। इसके साथ जुड़े शून्य व्यवहार हैं।
और कार्यक्रम में व्यवहार, मैं संगठन सेवा जैसी "सेवा स्तर" कक्षा में चिपक रहा हूं जो ज्यादातर इन वस्तुओं और डीएएल के मध्य मध्यस्थ के रूप में कार्य करता है।
PHP के साथ संभावित स्केलिंग समस्याओं के अलावा (मेरे पास अन्य कारण हैं कि मैं इन वस्तुओं में अपने डेटा को "बैगिंग" करने का आग्रह करता हूं), क्या यह दृष्टिकोण पूरी तरह से बंद है?
इन परिस्थितियों में आप अपने डोमेन मॉडल को कैसे प्रबंधित करते हैं? शायद एक संगठन मेरे डोमेन का पहला स्थान नहीं है?
डोमेन मॉडल में डोमेन मॉडल में कोई सहयोगी कर्मचारी विधि कैसे हो सकती है, यदि डोमेन मॉडल के पास डेटामैपर तक पहुंच नहीं है? – bestattendance