आज्ञा देना वहां कुछ अलग डीएओ कक्षाएं OrderDAO
, ProductDAO
, और CustomerDAO
कि स्टोर/डेटाबेस में डेटा पुनः प्राप्त और एक उदाहरण DataSource
(डेटाबेस कनेक्शन कारखाना) को साझा करें।प्रश्न
DataSource
उदाहरण बनाने के लिए और इसे DAOs
में प्लग करें हम आमतौर पर स्प्रिंग डी का उपयोग करते हैं। अब मैं बिना किसी डी फ्रेमवर्क के स्कैला में ऐसा करना चाहता हूं।
मैं cake pattern के बारे में पढ़ा है, और जैसे मैं निम्न करना चाहिए यह लग रहा है:
trait DatabaseContext { val dataSource:Datasource }
trait OrderDAO {this:DatabaseContext =>
... // use dataSource of DatabaseContext
}
trait ProductDAO {this:DatabaseContext =>
... // use dataSource of DatabaseContext
}
object DAOImpl extends OrderDAO with ProductDAO with DatabaseContext {
val dataSource = ... // init the data source
}
मैं सही ढंग से केक पैटर्न समझ रहे हो?
क्या मैं केक पैटर्न का उपयोग करके इन DAOs
को अलग-अलग कार्यान्वित कर सकता हूं?
यह क्या प्रदान करता है कि डीआई ढांचे जैसे वसंत नहीं करते हैं?
मैं अलग OrderDAOImpl
और ProductDAOImpl
ऑब्जेक्ट्स को एक बड़े DAOImpl
के बजाय DataSource
उदाहरण साझा करने के तरीके कैसे बना सकता हूं?
मैंने संक्षिप्त रूप से केक पैटर्न के बारे में पढ़ा और यह नहीं देखा कि उत्साह या तो क्या था। यह मौजूदा डी कंटेनरों की तुलना में बहुत अधिक जटिल लगता है। – Kevin
चाहे आप इसे पसंद करते हैं या नहीं, वास्तव में प्रश्न के लिए प्रासंगिक नहीं हैं। और "क्या मुझे कुछ याद आ रहा है" एक बहुत ही कमजोर सवाल है। शायद यह पूछना बेहतर होगा कि "यह क्या प्रदान करता है कि एक्स नहीं करता है?", जो एक स्पष्ट सवाल है। –
@ डैनियल। धन्यवाद। मैंने सवाल दोहराया है। – Michael