2010-02-05 15 views
11

एक सप्ताह से मैं स्कैला में प्रोग्रामिंग पढ़ रहा हूं। लेखकों ने चरण-दर-चरण भाषा के तत्वों को प्रस्तुत किया है, लेकिन मैं अभी भी उलझन में हूं जब कार्यकर्ताओं, बंदियों, करीकरण, जैसे कार्यात्मक चीजों का उपयोग करना है ....स्कैला कार्यात्मक डिजाइन पैटर्न का कैटलॉग

मैं सामान्य उपयोग मामलों की सूची ढूंढ रहा हूं या कार्यात्मक संरचनाओं के लिए सर्वोत्तम प्रथाओं।

मैं की तरह

उत्तर

8

जब बंद उपयोग करने के लिए या currying जब वर्गों का उपयोग करने के बारे में उलझन में किया जा रहा है की तरह है के बारे में उलझन होने के नाते स्काला में GOF की तरह अच्छी तरह से ज्ञात पैटर्न reimplementing मतलब यह नहीं है। वे सिर्फ भाषा का हिस्सा हैं, और आपके द्वारा किए गए किसी भी कार्य को पूरा करते हैं। जब ओओ पहली बार मुख्यधारा तक पहुंचा, तो कक्षाओं के बारे में भी यही सवाल पूछा गया।

अभिनेताओं के लिए, वे एक वितरित प्रोग्रामिंग प्रतिमान हैं - और नहीं, आप स्वयं को भाषा का हिस्सा मानते हैं। उनका उपयोग तब किया जाता है जब आप समेकन का लाभ लेना चाहते हैं, और आपके आवेदन को समवर्ती प्रक्रियाओं के बीच राज्य साझा करने की आवश्यकता नहीं है, न ही यह मुख्य रूप से समांतर प्रसंस्करण की ओर उन्मुख है।

+1

आप शायद सही हैं, मैं ओओ से परिचित हूं और मैं आपका जवाब समझता हूं। ओओ के लिए मैं पूछ सकता था कि विरासत या एकत्रीकरण का उपयोग कब किया जाए, मुझे इंटरफ़ेस कब और कब होना चाहिए। इन सवालों के लिए एक को कई संसाधन मिलेंगे लेकिन किसी भी अनुभव के बिना कौन सा कार्यात्मक निर्माण का उपयोग करना मुश्किल है। इन विषयों की चर्चा के लिए एक लिंक ठीक होगा। – stacker

+2

@stacker यह सच है, और मैं, खुद, यह नहीं जानता कि क्या सिफारिश करनी है। क्रिस ओकासाकी द्वारा डैनियल फ्राइडमैन, या शुद्ध रूप से कार्यात्मक डेटा संरचनाओं द्वारा लिटिल शेमर और द सीजनेड शेमर जैसी कुछ किताबें कुछ मदद कर सकती हैं। लेकिन वहां स्कैला की तरह कुछ भी नहीं है। उदाहरण के लिए, करीकरण करने के लिए _option_ बल्कि दुर्लभ है। ज्यादातर भाषा में, या तो सब कुछ curried है, या कुछ भी नहीं है। और, ज़ाहिर है, ओओ का मिश्रण इसे एक दृष्टिकोण चुनना और भी मुश्किल बनाता है। –

+1

मुझे यह सहायक साइट मिली: http://scala.sygneca.com/code/start – stacker

संबंधित मुद्दे