मैं प्ले फ्रेमवर्क और स्कैला में नया हूं और मैं एक साथी ऑब्जेक्ट के अंदर निर्भरता इंजेक्ट करने की कोशिश कर रहा हूं। की तरह एक साथी वस्तु के साथकिसी ऑब्जेक्ट के अंदर निर्भरता इंजेक्ट करें
case class Bar(foo: Int) {}
:
मैं की तरह एक साधारण मामला वर्ग है,
object Bar {
val myDependency =
if (isTest) {
// Mock
}
else
{
// Actual implementation
}
val form = Form(mapping(
"foo" -> number(0, 100).verifying(foo => myDependency.validate(foo)),
)(Bar.apply)(Bar.unapply))
}
यह ठीक काम करता है, लेकिन यह वास्तव में यह करने के लिए एक साफ रास्ता नहीं है। मैं निर्माण समय पर निर्भरता को इंजेक्ट करने में सक्षम होना चाहता हूं ताकि परीक्षण और उत्पादन में परीक्षण और विभिन्न वास्तविक कार्यान्वयन के दौरान मैं विभिन्न नकली वस्तुओं को इंजेक्ट कर सकूं।
इसे प्राप्त करने का सबसे अच्छा तरीका क्या है?
किसी भी मदद की वास्तव में सराहना की। धन्यवाद!
मुझे लगता है कि कोशिश कर सकते हैं आपको जो चाहिए वह एक तथाकथित "केक पैटर्न" है। डैनियल स्पिवाक द्वारा एक ब्लॉग पोस्ट था, लेकिन मुझे यह प्रतीत नहीं होता है। लेकिन यह (http://www.warski.org/blog/2011/04/di-in-scala-cake-pattern-pros-cons/) संदर्भ के रूप में अच्छा होना चाहिए। – MisterMetaphor
यह [मूल पोस्ट] है (http://jonasboner.com/2008/10/06/real-world-scala- निर्भरता- इंजेक्शन-di/) जोनास बोनर –