2011-11-19 18 views
5

मैं Microsoft .Net: Architecting Applications for the Enterprise से वास्तुकला के बारे में निम्नलिखित पैराग्राफ पढ़ते हैं, डिनो एस्पोसिटो और एंड्रिया Saltarello द्वारा:घोषणात्मक और अनिवार्य प्रोग्रामिंग के बीच क्या अंतर है?

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

इसका मतलब यह नहीं है कि आपको विजुअल स्टूडियो 2008 या समान विज़ार्ड-आधारित उत्पादों पर भरोसा नहीं करना चाहिए। बिंदु पूरी तरह से कुछ और है। एक बड़ी प्रणाली में, संभवतः कई टीमों द्वारा विकसित किया जा रहा है, क्लासिक घोषणात्मक प्रोग्रामिंग बस काम नहीं करती है। आपको प्रस्तुति कोड की एक परत प्रस्तुत करने की आवश्यकता है जो तय करता है कि क्या प्रदर्शित करना है, कहां सेटिंग्स पढ़ें, और उन्हें कैसे लागू करें। घोषणात्मक प्रोग्रामिंग अभी भी एक शानदार विकल्प है, लेकिन केवल तभी जब आप इंजन और जादूगर लिखते हैं।

क्या कोई मुझे सरल शब्दों में समझा सकता है कि वास्तव में घोषणात्मक और अनिवार्य प्रोग्रामिंग क्या हैं?

+0

इस [अतः पोस्ट] को देखने [1] च # और ग # का एक compaison के लिए [1]: http : //stackoverflow.com/questions/952318/what-are-the-benefits-of-using-c-sharp-vs-f-or-f-vs-c –

+0

@ अशोकपमानमानन: केवल मुश्किल से लागू होता है, क्योंकि यह है सी # बनाम एफ # के बारे में, और केवल आंशिक रूप से अनिवार्य प्रोग्रामिंग बनाम * कार्यात्मक * प्रोग्रामिंग (जो घोषणात्मक प्रोग्रामिंग का एक विशिष्ट उप-समूह है) के बारे में। – delnan

+0

विज़ार्ड और घोषणात्मक प्रोग्रामिंग कैसे संबंधित हैं? – CodesInChaos

उत्तर

2

घोषणात्मक प्रोग्रामिंग - क्या

पहल प्रोग्रामिंग किया जाना चाहिए - क्या आप चाहते हैं कैसे किया जाना चाहिए।

घोषणात्मक प्रोग्रामिंग के लिए डेवलपर्स को यह कहना है कि क्या किया जाना है। प्रभावशाली प्रोग्रामिंग के लिए डेवलपर्स को चरण-दर-चरण परिभाषित करने की आवश्यकता होती है कि कोड को कैसे निष्पादित किया जाना चाहिए।

उदाहरण: LINQ में सी # घोषणात्मक है।

अधिक के लिए यहां पढ़ें: http://www.informit.com/articles/article.aspx?p=1330154&seqNum=4

+1

LINQ सादा कार्यात्मक प्रोग्रामिंग आईएमओ है। डाटाबेसिंग, सत्यापन गुण इत्यादि। मैं घोषणात्मक कहूंगा। – CodesInChaos

+0

@CodeInChaos - कार्यात्मक प्रोग्रामिंग और घोषणात्मक पारस्परिक रूप से अनन्य नहीं हैं। और LINQ घोषणात्मक है क्योंकि आप जो चाहते हैं उसे कहते हैं, और सिस्टम जानता है कि इसे कैसे प्राप्त किया जाए, इसे xml, sql, आदि से प्राप्त करें। – manojlds

7

घोषणात्मक - मैं वर्णन करूंगा कि मैं क्या करना चाहता हूं, आप इसे समझते हैं (एसक्यूएल, एक्सएसएलटी)।

प्रभावशाली - मैं आपको बिल्कुल बताऊंगा, एक समय में एक कदम (सी #, जावा) क्या करना है।

+1

एसक्यूएल मेरे लिए घोषणात्मक से अधिक कार्यात्मक लगता है। मुझे लगता है कि एक्सएसएलटी एक एक्सएमएल सिंटैक्स के साथ सिर्फ कार्यात्मक प्रोग्रामिंग है, लेकिन मुझे यह सुनिश्चित करने के लिए पर्याप्त जानकारी नहीं है। – CodesInChaos

+0

@CodeInChaos - दोनों को घोषणात्मक के रूप में वर्णित किया गया है। मैंने अभी दोनों के लिए विकिपीडिया प्रविष्टियों पर एक नज़र डाली, जो इसके साथ सहमत हैं। – Oded

7

उदाहरण।

घोषणात्मक प्रोग्रामिंग:

<asp:DropDownList runat="server" DataSourceID="ObjectDataSource1" /> 
<asp:ObjectDataSource runat="server" ID="ObjectDataSource1" ItemUpdating="..." /> 

पहल प्रोग्रामिंग:

ObjectDataSource source = new ObjectDataSource(); 
source.ItemUpdating += ...; 

DropDownList list = new DropDownList(); 
list.ID = ""; 
list.DataSource = source; 
list.DataBind(); 
संबंधित मुद्दे

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