2008-12-15 12 views
10

हम कुछ अमूर्त डिजाइनर बनाने के लिए माइक्रोसॉफ्ट डीएसएल टूलकिट पर विचार कर रहे हैं। मैंने पहले से ही कुछ पीओसी किया है, लेकिन इस पर कुछ राय प्राप्त करना चाहूंगा।माइक्रोसॉफ्ट विजुअल स्टूडियो एसडीके डीएसएल टूल्स - कोई गंभीर लेने वाला?

माइक्रोसॉफ्ट डीएसएल टूलकिट और टी 4 के साथ काम कर रहे अपने अनुभव साझा करने के लिए यहां कोई भी व्यक्ति? इसके अलावा, स्रोत डीएसएल परियोजनाओं को खोलने के लिए कोई भी संकेतक मदद करेगा - उदाहरण के लिए। माइक्रोसॉफ्ट सर्विस फैक्टरी मॉडलिंग संस्करण डीएसएल टूलकिट पर काफी निर्भर है।

चूंकि ओएसएलओ/क्वाड्रंट को रिलीज होने में कुछ समय लगेगा, मुझे लगता है कि हमारे पास एकमात्र विकल्प माइक्रोसॉफ्ट डीएसएल डिजाइनर पर भरोसा करना है। (See Kieth's blog on the same)

इसके अलावा, यहां कुछ जानकारी मैं पहले से ही डीएसएल पर है:

1 - A Nice Lab in MSDN on DSL tools

2 - A List of Projects in Codeplex using DSL toolkit

+0

पर किसी प्रश्न के उत्तर के रूप में मेरी पोस्ट पा सकते हैं। मैं यह समझने की कोशिश कर रहा हूं कि यह सब कैसे काम करता है। क्या उपयोगकर्ताओं को अपने डीएसएल का उपयोग करने के लिए विजुअल स्टूडियो के लिए लाइसेंस प्राप्त करने की आवश्यकता है? – TimothyP

+1

एक डीएसएल पैकेज बनाने के लिए, विजुअल स्टूडियो एसडीके डाउनलोड और स्थापित करें। एक डीएसएल पैकेज किसी अन्य वीएस पैकेज की तरह है, आपको तैनात करने के लिए पैकेज लोड कुंजी की आवश्यकता है। http://msdn.microsoft.com/en-us/library/bb165795(VS.80).aspx – amazedsaint

+1

AFAIK सभी विजुअल स्टूडियो यूएमएल उपकरण सार्वजनिक मॉडलिंग और विजुअलाइजेशन एसडीके के साथ बनाए गए हैं ... यह एक बहुत ही गंभीर लेने वाला है – Schneider

उत्तर

5

हम DSLs के साथ काफी काम किया है और की एक संख्या है है उन्हें घर और ग्राहक आधारित परामर्शदाता उपयोग के लिए, हालांकि यह मेरे पास नहीं है जिन्होंने उनके साथ अधिकतर काम किया है। एक बार जब आप मॉडलिंग (कोई छोटी सी काम नहीं) निकाल देते हैं तो मैं कहूंगा कि ये बहुत अच्छे उपकरण हैं।

मैं आपको किसी भी ओपन सोर्स प्रोजेक्ट्स पर असहज रूप से इंगित नहीं कर सकता हूं, और मैं उस गैर-मामूली डीएसएल को चलाने और उसमें चलने में निवेश को जोड़ दूंगा, हालांकि यदि आप उन्हें सही पाते हैं तो उत्पादकता वृद्धि प्रभावशाली है।

संपादित करें - एक कुछ वर्षों के अनुभव के बाद मैं निम्नलिखित टिप्पणियों:

  1. वी.एस. DSLs बुरा दृश्य प्रदर्शन बड़े चित्र है, तो आप मॉडल तत्वों कि मुड़ने की जरूरत है (छिपाने/शो)
  2. कई परस्पर लाइनों के साथ बड़े चित्र (लेआउट मुश्किल है)
  3. बड़े मॉडल समय deserialisation पर ज्यादातर लिया (उम्मीद के रूप में)
  4. मॉडल के साथ, कोड पीढ़ी आदि के लिए पर्याप्त रूप से प्रदर्शन नेविगेट करने के लिए मुश्किल है बड़ी संख्या में GUID
  5. के कारण तुलना करना मुश्किल है क्योंकि एक अच्छे डेवलपर अनुभव को बॉक्स गुण संवादों के बाहर बहुत अधिक विकास की आवश्यकता होती है।
  6. मॉडल आईपी की रक्षा के लिए एन्क्रिप्टेड किया जा सकता है, इस तुलना बाद में अत्यंत कठिन बना देता है (लेकिन यह सभी एन्क्रिप्टेड फ़ाइलों के लिए सच है।)
0

मैं निश्चित रूप से एक गंभीर लेने वाला। Ivé ने हाल ही में ऑर्डरिंग सिस्टम के लिए ऑर्डरप्रोसेसेस मॉडल करने के लिए एक डीएसएल बनाया है। हम एक windowsservice का उपयोग करते हैं जो कि विभिन्न वेब सर्विसेज से जुड़ता है जिसके आधार पर एक विशिष्ट पंक्ति में processtatus है और फिर परिणाम (अगला, त्रुटि, अस्वीकार) के आधार पर स्थिति बदलता है। यह डीबी-टेबल मैन्युअल रूप से संपादित करने के लिए बहुत समय-समय पर विचार कर रहा था, इसलिए मैंने एसक्यूएल कोड के लिए एक भाषा और जेनरेटर बनाया।

मुझे यह जांचना होगा कि मुझे परियोजना से कोई कोड पोस्ट करने की अनुमति है या नहीं, लेकिन मैं डीबी संरचना पोस्ट करता हूं ताकि आप समझ सकें कि मैन्युअल रूप से इसे संपादित करना मुश्किल क्यों है। मुझे aprox के लिए डेटा डालना है। कार्यवाही और सबकुछ के साथ प्रत्येक 5-20 चरणों के साथ 10 ऑर्डरप्रोसेस (ProcessActionId एक webservice का प्रतिबिंब है)।

CREATE TABLE [dbo].[OrderProcessStep](
    [OrderProcessCode] [int] NOT NULL, 
    [PreviousProcessStatusCode] [int] NOT NULL, 
    [NextProcessStatusCode] [int] NULL, 
    [DenialProcessStatusCode] [int] NULL, 
    [ErrorProcessStatusCode] [int] NULL, 
    [ProcessActionId] [int] NULL, 
    [StepComment] [varchar](500) NOT NULL, 
    [SecondsToNext] [int] NULL, 
    [SecondsToError] [int] NULL, 
    [SecondsToDenial] [int] NULL, 
CONSTRAINT [PK_OrderProcess] PRIMARY KEY CLUSTERED 
(
    [OrderProcessCode] ASC, 
    [PreviousProcessStatusCode] ASC 
) 
+0

अच्छा लगता है। असल में, हमने इस तरह कुछ भी किया है, मुख्य रूप से प्रोटोटाइप और डीटीओ ऑब्जेक्ट्स के माध्यम से क्लिक करने के लिए – amazedsaint

+3

बेशक, आप बस सभी रिपोजिटरी सेविंग कोड उत्पन्न करने के लिए ओआरएम का उपयोग कर सकते हैं .... –

2

उपरोक्त के अतिरिक्त, वस्तु भूमिका मॉडलिंग के लिए NORMA उपकरण डीएसएल उपकरण पर बनाया गया है।यह उनके साथ क्या किया जा सकता है इसका एक बहुत ही परिष्कृत उदाहरण है, और मॉडल परिवर्तन और कोड जनरेशन के लिए एक्सएमएल ट्रांसफॉर्म का उपयोग करके प्रदर्शित करता है।

4

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

ओस्लो एक बहुत ही अजीब दिशा में जा रहा है, जो एसक्यूएल डीबी में डीएसएल के लिए सभी मेटाडेटा संग्रहीत करता है। यह सिर्फ मेरे लिए अपरिहार्य प्रतीत होता है, और निश्चित रूप से चीजों को धीमा कर सकता है, खासकर यदि आप तेजी से आईडीई एकीकरण चाहते हैं। माना जाता है कि मैंने इसमें गहराई से देखा नहीं है, इसलिए यह मेरी छाप से बेहतर हो सकता है।

एक तरफ, मैंने हाल ही में Antlr का उपयोग कर एक डीएसएल लागू किया। आप इस पोस्ट को here

+0

@Darien: यह सवाल विशेष रूप से इसके बारे में था डीएसएल टूलकिट। –

+0

आह आप सही हैं, मैंने ओपन सोर्स प्रोजेक्ट्स के बारे में सवाल के हिस्से को गलत समझा। पोस्ट बॉडी –

+0

को डिलीट किया गया असल में, मैं एमएस के उपकरणों के बारे में मेरी राय को और अधिक प्रतिबिंबित करने के लिए इसे संपादित करूंगा। –

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