मैं Magento 2 में ट्यूटोरियल के एक जोड़े के माध्यम से चला गया हूं, और यह मुझे थोड़ा भ्रमित करता है। मैं देख सकता हूं कि मूल रूप से दो तरीके हैं जिनके द्वारा हम व्यावसायिक संस्थाओं को पढ़ / लिख सकते हैं:
डेटा पुनः प्राप्त करो
एक फैक्टरी दृष्टिकोण का उपयोग करना
$object = $this->myFactory->create();
$object->load($myId);
एक रिपॉजिटरी दृष्टिकोण का उपयोग करना
$repo = $this->myRepository();
$object = $repo->getById($myId);
डेटा बचाना
एक फैक्टरी दृष्टिकोण का उपयोग करना
$object = $this->myFactory->create();
$object->load($myId);
$object->setData('something', 'somethingDifferent')->save();
एक रिपॉजिटरी दृष्टिकोण का उपयोग करना
$repo = $this->myRepository();
$object = $repo->getById($myId);
$object->setData('something', 'somethingDifferent');
$repo->save($object);
मैं यह भी देख सकता हूं कि, निर्भरता इंजेक्शन का उपयोग करके एक रिपॉजिटरी और फैक्ट्री क्लास दोनों को इंजेक्ट किया जा सकता है। यह कम से कम मेरे लिए भ्रामक है।
हमें एक रिपॉजिटरी दृष्टिकोण और एक कारखाने के दृष्टिकोण का उपयोग कब करना चाहिए? हमें सबसे अच्छा अभ्यास क्या है?