MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

डीएओ और निर्भरता इंजेक्शन, सलाह?

एक "प्लग करने योग्य" DAO परत आमतौर पर/हमेशा एक इंटरफ़ेस DAO पर आधारित होती है। उदाहरण के लिए, आइए एक बहुत ही सामान्य सरल पर विचार करें:

public interface GenericDAO <T, K extends Serializable> {  
    List<T> getAll(Class<T> typeClass);   
    T findByKey(Class<T> typeClass, K id);  
    void update(T object);  
    void remove(T object);  
    void insert(T object);  
}

(यह आपके पास मॉर्फिया का सामान्य डीएओ )

फिर आप अलग-अलग कई सामान्य डीएओ कार्यान्वयन विकसित कर सकते हैं, जहां आप अलग-अलग फ़ील्ड (कन्स्ट्रक्टर पैरामीटर, सेटर्स और गेटर्स इत्यादि में परिलक्षित) पा सकते हैं। आइए एक JDBC-आधारित मान लें:

public class GenericDAOJDBCImpl<T, K extends Serializable> implements GenericDAO<T, K extends Serializable> {
    private String db_url;

    private Connection;
    private PreparedStatement insert;
    // etc.
}

एक बार जेनेरिक डीएओ लागू हो जाने के बाद (एक ठोस डेटास्टोर के लिए), एक ठोस डीएओ प्राप्त करना कोई ब्रेनर नहीं होगा:

public interface PersonDAO extends GenericDAO<Person, Long> {

}

और

public class PersonDAOJDBCImpl extends GenericDAOJDBCImpl<Person, Long> implements PersonDAO {

}

(बीटीडब्ल्यू, आपके पास मॉर्फिया का बेसिकडीएओ MongoDB के लिए सामान्य DAO का कार्यान्वयन है)।

प्लग करने योग्य वास्तुकला में दूसरी बात ठोस डीएओ कार्यान्वयन का चयन है। मैं आपको Apress:Pro Spring 2.5 से अध्याय 2 पढ़ने की सलाह दूंगा। ("हैलो वर्ल्ड" में स्प्रिंग डालना") कारखानों और निर्भरता इंजेक्शन के बारे में उत्तरोत्तर सीखने के लिए।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB में बेहतर क्वेरी फ़ील्ड मौजूद हैं

  2. Mongodb 2.4 2dsphere बहुत धीमी क्वेरी ($geoIntersects का उपयोग करके)?

  3. एमजीओ (गो) में मॉडल के रूप में इंटरफ़ेस प्रकार का उपयोग कैसे करें?

  4. एकाधिक चाबियों के साथ कुशलतापूर्वक विशिष्ट प्रदर्शन कैसे करें?

  5. MongoDB को पासिंग प्रकार की जानकारी ताकि यह इंटरफ़ेस प्रकारों को ठीक से deserialize कर सके?