हम इन दो दृष्टिकोण डेटा एक्सेस परत या किसी अन्य स्रोत से डेटा भेजने के लिए कर सकते हैं:भंडार पैटर्न बनाम डीटीओ पैटर्न दृष्टिकोण
दृष्टिकोण 1: भंडार रास्ता:
public class User
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
}
public class UserRepository
{
public static void Add(User user)
{
// Add user logic
}
public static void Delete(User user)
{
// Delete user logic
}
public static User Get(int userid)
{
// Get user logic
}
}
उपयोग:
var user = new User
{
FirstName = "FirstName",
LastName = "LastName",
Age = 20
};
UserRepository.Add(user);
ऊपर, आपने देखा है कि मैंने उपयोगकर्ता सी रखा है लस सरल। इसका कोई व्यवहार नहीं है। व्यवहार एक अलग वर्ग उपयोगकर्ता रिपोजिटरी में जोड़ा जाता है।
दूसरा दृष्टिकोण: रखते हुए जोड़े/हटाएं/जाओ आदि केवल User.cs में:
public class User
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
public void Add()
{
// Add user logic
}
public void Delete()
{
// Delete user logic
}
public User Get()
{
// Get user logic
}
}
उपयोग:
var user = new User
{
FirstName = "FirstName",
LastName = "LastName",
Age = 20
};
user.Add();
से ऊपर मैं User.cs में व्यवहार रखा है केवल । दोनों दोनों दृष्टिकोण उपयोगकर्ता को जोड़ने, हटाने, आदि के उद्देश्य से कार्यरत हैं। क्या आप मुझे
कौन सा दृष्टिकोण बेहतर है?
यह तय करने के लिए कि उपर्युक्त दो दृष्टिकोणों में से कौन सा विकल्प चुनना है?
अगर मैं FindAllUsers, जैसे भी अन्य तरीकों जोड़ने के लिए FindUserByUserId, DeleteUserByUserId जो दृष्टिकोण मैं के लिए जाना चाहिए?
+1 बस इसमें जोड़ने के लिए - रिपोजिटरी पैटर्न का उपयोग करके अधिक स्पष्टता होती है - भंडार * जोड़ता है * उपयोगकर्ता, उपयोगकर्ता * स्वयं * जोड़ नहीं पाते हैं। – James