2012-06-21 9 views
6

क्या कोई बता सकता है कि फारो में कक्षाओं का संगठन फारो के विभिन्न संस्करणों में कैसे काम करता है?श्रेणियों और पैकेजों में कक्षाओं का संगठन फारो के विभिन्न संस्करणों में कैसे काम करता है?

  • सभी वर्गों का हिस्सा हैं स्मालटाक वैश्विक (हमेशा किया गया है, इस तरह रहने लगते हैं?)
  • कक्षा एक श्रेणी में हो सकता है, लेकिन टैग का ही एक प्रकार है thats? (हमेशा किया गया है, इस तरह रहने के लिए लगता है? लेकिन श्रेणियों किसी भी तरह संकुल पर मैप किए जाते कभी कभी?)
  • Pharo के विभिन्न संस्करणों में संकुल के विभिन्न प्रकार के होते हैं
    • MCPackages Monticello संकुल का प्रतिनिधित्व
    • PackageInfo
    • RPackage (Pharo 1.4)?

इसके अलावा वहाँ SystemNavigation जो किसी भी तरह से नेविगेट वर्गों और विधियों के आधार ऊपर से कुछ का उल्लेख किया निर्माणों पर मदद करता है?

+0

शायद कोई मॉन्टिसेलो टैग जोड़ सकता है। मैंने कोशिश की, लेकिन मेरे पास ऐसा करने का अधिकार नहीं है। –

उत्तर

5

क्लासेस

तथ्य यह है कि कक्षाओं Smalltalk वैश्विक में चाबियाँ हैं एक कार्यान्वयन विस्तार है। जब तक कक्षा के नामों के लिए एक वैश्विक नामस्थान है, तो यह संभावना है कि कार्यान्वयन वही रहेगा।

कक्षा श्रेणियाँ

वर्ग श्रेणी बहुत ज्यादा एक टैग की तरह। एक कक्षा एक समय में केवल एक ही श्रेणी में हो सकती है। मूल रूप से वर्ग श्रेणी का उपयोग सिस्टम में कक्षाओं के आयोजन के लिए Browser द्वारा किया गया था।

जब Monticello बनाया गया था, वर्ग श्रेणी अतिभारित किया गया था यह भी एक Monticello पैकेजMCPackage और PackageInfo कक्षाएं इस मानचित्रण का प्रबंधन करने के लिए बनाए गए थे में सदस्यता को इंगित करने के लिए।

PackageInfo सभी भारी भारोत्तोलन करता है: एक पैकेज से संबंधित वर्गों और ढीले तरीकों को ढूंढना।

MCPackage कि कुछ प्रोटोकॉल जरूरी है कि अधिक सामान्य PackageInfo के लिए उपयुक्त नहीं था कहते हैं PackageInfo के लिए एक Monticello विशेष आवरण है।

संकुल

पैकेज सदस्यता के लिए वर्ग श्रेणी ओवरलोडिंग एक साफ चाल Monticello की गोद लेने के कम करने के लिए किया गया था (मौजूदा विकास उपकरण Monticello सिखाने की जरूरत नहीं थी), हालांकि, यह अभी भी एक चाल है। इस तथ्य का जिक्र नहीं है कि PackageInfo का कार्यान्वयन बहुत प्रभावी नहीं था।

RPackagePackageInfo की प्रदर्शन समस्याओं को हल करने के लिए बनाया गया था और अगली पीढ़ी के विकास उपकरणों के हिस्से के रूप में उपयोग किया जाएगा।

PackageInfo तक दोनों पैकेज कार्यान्वयन जारी रहेगा जब तक चरणबद्ध नहीं किया जा सकता है।

SystemNavigation

फ्रैंक कहते हैं,

SystemNavigation एक वर्ग है कि, जैसा कि इसके नाम से पता चलता, परमिट अलग अलग बातें की एक संख्या के लिए आसान क्वेरी है: छवि में कक्षाएं, छवि में लोड किए गए पैकेजों के बारे में जानकारी, के कार्यान्वयनकर्ताओं, और इसी तरह से।

+0

"मॉन्टिसेलो पैकेज" और एमसीपीकेज के बीच संबंध क्या है? नाम से मुझे लगता है कि वे एक और एक थे। –

+1

एक मॉन्टिसेलो पैकेज एक्सटेंशन '.mcz' वाली एक फ़ाइल है। एक एमसीपीएकेज एक इन-इमेज इंस्टेंस है जो उस पैकेज का प्रतिनिधित्व करता है। –

+0

धन्यवाद, मैंने तदनुसार अपना प्रश्न अपडेट किया। तो एमसीपीएकेज और पैकेजइन्फो या एमसीपीएकेज और आरपीकेज कैसे संबंधित हैं? या वे सिर्फ पक्ष के साथ रहते हैं? –

4

कक्षाएं कम से कम Smalltalk शब्दकोश में कुंजी हैं।

PackageInfo में अन्य पैकेजों के लिए कक्षाओं और एक्सटेंशन के समूह के बारे में जानकारी शामिल है।

एक मॉन्टिसेलो पैकेज में कोड की एक तैनाती इकाई शामिल है। आमतौर पर इनमें से एक PackageInfo उदाहरण के अनुरूप होगा। (मॉन्टिसेलो ब्राउज़र में "+ पैकेज" बटन को मारना उदाहरण के लिए इनमें से एक बना देगा।) एक मॉन्टिसेलो पैकेज में प्री-लोड और पोस्ट-लोड स्क्रिप्ट हो सकती हैं, इसलिए यदि संबंधित, फ़ंक्शंस, तो दो वर्ग अलग-अलग प्रदर्शन करते हैं।

SystemNavigation एक वर्ग है, जैसा कि इसके नाम से पता चलता है, कई अलग-अलग चीजों की आसान पूछताछ की अनुमति देता है: छवि में कक्षाएं, प्रेषक-के, कार्यान्वयनकर्ता, छवि में लोड किए गए पैकेजों के बारे में जानकारी आदि।

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

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