सॉफ्टवेयर आर्किटेक्चर के सिद्धांत और अभ्यास पर सर्वश्रेष्ठ पुस्तकें? [बन्द है]


32

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

सामान्य पुस्तकों को शामिल करने के लिए स्वतंत्र महसूस करें, और ऐसी पुस्तकें भी जो एक विशिष्ट तकनीक से संबंधित हैं।


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

जवाबों:


15

वैकल्पिक शब्द

(पुस्तक का लिंक)

यह एक बहुत अच्छी किताब है, हालांकि यह सामान्य रूप से सॉफ्टवेयर वास्तुकला के साथ नहीं, बल्कि व्यावसायिक अनुप्रयोगों की वास्तुकला से संबंधित है।


यह प्रकाशित होने पर एक अच्छी किताब थी, लेकिन मुझे लगता है कि ज्यादातर पैटर्न उद्योग में बहुत अधिक उपयोग नहीं किए जाते हैं। एक बुरी किताब नहीं है, लेकिन यकीन है कि मेरी राय में शीर्ष 5 में से एक नहीं
Uberto

यद्यपि इसे "एंटरप्राइज एप्लीकेशन आर्किटेक्चर" कहा जाता है, यह लगभग उसी स्तर पर है, जैसे कि गोफ़ डिज़ाइन पैटर्न बुक, जो कि एक एप्लीकेशन-लेवल आर्किटेक्चर के बजाय एक क्लास-लेवल डिज़ाइन है।
थॉमस ओवेन्स

ऊ, मुझे यह पुस्तक पसंद नहीं है। यह आपको आर्किटेक्ट बनने में मदद नहीं करेगा।
जेपी अलीोटो

पुस्तक ठीक है, लेकिन यह वास्तव में केवल उद्यम अनुप्रयोगों के बारे में है। यदि आप किसी अन्य प्रकार का विकास कर रहे हैं (जैसे डेस्कटॉप, मोबाइल, एम्बेडेड) तो यह बहुत उपयोगी नहीं है।
निकी

16

वैकल्पिक शब्द

लेकिन, मैं इन डेवलपर्स को वास्तुकला में कदम नहीं रखने और प्रोग्रामिंग के बारे में पूरी तरह से भूल जाने के लिए प्रोत्साहित करूंगा। यदि वे करते हैं, तो उन्हें प्रोग्रामर से कोई सम्मान नहीं होगा और वे वास्तु निर्णय लेने के लिए ठीक से सुसज्जित नहीं होंगे।


11

सॉफ़्टवेयर आर्किटेक्चर पर आमतौर पर उद्धृत / संदर्भित पुस्तक, और जब मैं अपने विश्वविद्यालय में सॉफ़्टवेयर आर्किटेक्चर पाठ्यक्रम लेता था, तो पुस्तक का उपयोग लेन बास, पॉल क्लेमेंट्स और रिक कज़मैन द्वारा सॉफ़्टवेयर आर्किटेक्चर इन प्रैक्टिस (2 डी संस्करण) में किया जाता है

पाठ्यक्रम को पढ़ाने वाले कम से कम एक प्रोफेसर ने निक रोज़न्स्की और इयॉन वुड्स द्वारा पाठ्यपुस्तक को सॉफ्टवेयर सिस्टम आर्किटेक्चर में बदल दिया है , लेकिन मैं उस पुस्तक की गुणवत्ता या सामग्री के लिए वाउच नहीं कर सकता। के अनुसार सर्जियो अकोस्टा (टिप्पणी में), Rozanski की किताब बास के काम पर आधारित नया है, है, और वह यह आसान को पढ़ने के लिए समझता है। मैं सॉफ्टवेयर इंजीनियरिंग प्रोग्राम में प्रयुक्त पुस्तकों से शायद ही कभी निराश होता हूँ।


2
मैंने दोनों (बास और रोजांस्की) का उपयोग किया है। बास 'एक लंबे समय के लिए वास्तुशिल्प बाइबिल था, लेकिन रोजन्स्की नया और अधिक अद्यतित है; यह पढ़ना आसान है और बास पर आधारित है। ' मैं अत्यधिक Rozanski के साथ शुरू करने की सलाह देता हूं।
सर्जियो अकोस्टा

1
+1 बास बुक एक अच्छी रीडिंग थी जब मैंने आर्किटेक्चर में आना शुरू किया। यह थोड़ा सूखा है, लेकिन यह आपको उन चीजों के बारे में बताता है, जिनके बारे में आपको सोचना चाहिए।
रेशनलगीक

10

डिजाइन पैटर्न्स

सभी प्रोग्रामर के लिए पढ़ना चाहिए:

http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612


2
अब अप्रचलित पुस्तक। गैंग ऑफ़ फोर के अधिकांश पैटर्न का इतना दुरुपयोग हुआ है जो अब लगभग प्रतिरूप हैं। सिंगलटन और अमूर्त कारखाने की तरह।
उबरो

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

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

किसी और को लगता है कि Groupthink सॉफ्टवेयर पेशे में एक बड़ी बीमारी है? अगर आँख बंद करके गुरु का अनुसरण किया जाता है (न कि वह पुस्तक जो अपेक्षित थी, लेकिन जो वास्तव में हुआ है) वह जगह है जहाँ पेशा चल रहा है, मुझे लगता है कि सॉफ्टवेयर पेशा बर्बाद है। मैं इस पुस्तक को दोष नहीं देता। मैं इसे पढ़ने वाले लोगों को दोषी मानता हूं, और यह सोचने लगा कि साफ-सुथरी कोडिंग की अन्य आधारभूत प्रथाओं के लिए उनकी कमी को ध्यान में रखते हुए पैटर्न-फू को कवर किया जा सकता है।
वॉरेन P

8

ज़च, क्या तुमने एक पढ़ा? मैं इसे पहले देख रहा था, लेकिन इसकी अमेज़न की समीक्षा इतनी शानदार नहीं थी।
DXM

मैंने इसके बारे में पढ़ा है। मुझे यकीन नहीं है कि अगर मैं हर निबंध को पढ़ता हूं, लेकिन मैंने जो पढ़ा है, उनमें से कुछ इसके लायक थे।
ज़ाक्रि के

7

वैकल्पिक शब्द

यह मेरी # 2 पसंद होगी। प्रथाओं और अच्छे कोड पर अच्छी किताब। कभी-कभी थोड़ा पांडित्य।


मैं इसके बारे में सहमत हूं कि यह पांडित्यपूर्ण है, लेकिन इसकी वकालत करने वाले अभ्यास 2000 लाइन कार्यों की तुलना में बहुत बेहतर हैं।
रिवलॉक

हां, निश्चित रूप से, सामग्री बहुत अच्छी है।
Uberto

इस पुस्तक को सॉफ्टवेयर आर्किटेक्चर माना जाने वाला निम्न स्तर है।
स्टीवन ज्यूरिस

6

वैकल्पिक शब्द

यह अभी मेरा नंबर # 1 विकल्प है। अब (निर्माण) आवेदन कैसे करें के बारे में सर्वश्रेष्ठ पुस्तक।




3

मैंने पैटर्न-ओरिएंटेड सॉफ्टवेयर आर्किटेक्चर के वॉल्यूम 1 और 4 को बहुत उपयोगी पाया है। मुझे यकीन है कि अन्य वॉल्यूम भी अच्छे हैं, मैंने अभी उन्हें नहीं पढ़ा है इसलिए मैं उनकी सिफारिश नहीं कर सकता।



3

मैं उन लोगों का हवाला नहीं दूंगा जो पहले से ही दूसरे द्वारा लिए गए हैं, इसलिए मैं इसे जोड़ूंगा:

पीटर वान रॉय और सीफ हरिडि द्वारा अवधारणाओं और कंप्यूटर प्रोग्रामिंग के मॉडल

अवधारणाओं और कंप्यूटर प्रोग्रामिंग के मॉडल

स्पष्ट समस्या यह है कि यह अब (सॉर्ट-ऑफ) डिफ्रेंट मोजार्ट प्रोग्रामिंग सिस्टम और अद्भुत ओज प्रोग्रामिंग भाषा का उपयोग करता है । जो तब ऐलिस एमएल प्रोग्रामिंग भाषा जैसे अन्य दिलचस्प प्रयोगों को जन्म दिया ।

हालाँकि, यह एक अद्भुत पुस्तक है, दोनों कंप्यूटर प्रोग्रामिंग सीखने के लिए और सीएस अवधारणाओं की गहरी समझ पाने के लिए और buzzwords का उपयोग किए बिना वास्तुकला अवधारणाओं का एक अच्छा अवलोकन।

कई बार थोड़ी सी क्रिया, लेकिन बहुत अच्छी तरह से लिखी गई।

शायद एक उद्यम वास्तुकला पुस्तक की तुलना में अंत में एक सीएस सिद्धांत पुस्तक का अधिक है, लेकिन मुझे उद्योग सॉफ्टवेयर पर लागू करने के लिए इसकी शिक्षाएं बहुत मूल्यवान लगती हैं।




2

एक दिलचस्प किताब द आर्किटेक्चर ऑफ ओपन सोर्स एप्लीकेशन है

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

इस पुस्तक का लक्ष्य है कि इसे बदलना। इसमें, पच्चीस खुले स्रोत अनुप्रयोगों के लेखक बताते हैं कि उनका सॉफ्टवेयर कैसे संरचित है, और क्यों। प्रत्येक कार्यक्रम के प्रमुख घटक क्या हैं? वे कैसे बातचीत करते हैं? और उनके बिल्डरों ने उनके विकास के दौरान क्या सीखा? इन सवालों के जवाब में, इस पुस्तक के योगदानकर्ता इस बारे में अनूठी अंतर्दृष्टि प्रदान करते हैं कि वे कैसे सोचते हैं


2

Microsoft इस पर कुछ बहुत अच्छा सामान है। एक शुरुआत के लिए उनके पास एक महान मुफ्त पुस्तक उपलब्ध है:

http://msdn.microsoft.com/en-us/library/ff650706.aspx

इसके अलावा डिजाइन पर उनके सफेद कागज के बहुत सारे यहाँ हैं:

http://msdn.microsoft.com/en-us/practices/bb190351

आप शायद डिज़ाइन पैटर्न पर पढ़ना चाहते हैं:

http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612

और फिर वहाँ क्लासिक्स - पौराणिक आदमी महीना, कोड पूरा, व्यावहारिक प्रोग्रामर आदि। थोड़ा सा googling आपको अच्छी किताबें ढूंढने में मदद करेगा।


2

इस छोटी सी किताब की कोशिश करो ।

डेवलपर्स के लिए सॉफ्टवेयर आर्किटेक्चर - बुक ए सॉफ्टवेयर आर्किटेक्चर के लिए व्यावहारिक और व्यावहारिक गाइड है

यह पुस्तक निबंधों का एक संग्रह है जो एक साथ सॉफ्टवेयर वास्तुकला के लिए एक व्यावहारिक और व्यावहारिक मार्गदर्शिका बनाती है।

  1. सॉफ्टवेयर आर्किटेक्चर क्या है?

  2. एक सॉफ्टवेयर आर्किटेक्ट की भूमिका क्या है?

  3. आप सॉफ्टवेयर आर्किटेक्चर को कैसे परिभाषित करते हैं?

  4. आप सॉफ्टवेयर आर्किटेक्चर को कैसे साझा करते हैं?

  5. आप सॉफ्टवेयर वास्तुकला कैसे प्रदान करते हैं?


Codingthearchitecture.com ब्लॉग में सॉफ्टवेयर आर्किटेक्चर के अनुशासन के बारे में कुछ उत्कृष्ट पोस्ट भी हैं।
रेशनलगीक


1

आप जो सवाल पूछ रहे हैं, वह एक तरह से बहुत ही अकल्पनीय है। सॉफ्टवेयर आर्किटेक्चर अलग चीजें हैं और सॉफ्टवेयर आर्किटेक्ट एक बहुत ही विविध गुच्छा हैं।

कुछ नोट, हालांकि:

ऊपर उल्लेखित "क्लीन कोड" उन सबसे अच्छी किताबों में से एक है, जिन्हें मैंने प्रोग्रामिंग पर कभी पढ़ा है । लेकिन यह निश्चित रूप से वास्तुकला के बारे में एक पुस्तक नहीं है। डेवलपर्स के लिए अनिवार्य पढ़ना, हाँ, लेकिन यह बहुत अंतर्दृष्टि नहीं देता है कि बड़ा सामान एक साथ कैसे फिट बैठता है, imo।

फाउलर द्वारा "PoEAA" एक अच्छी किताब है, लेकिन जैसा कि किसी और ने कहा, अब पुराने की तरह है, और प्रस्तुत किए गए कई पैटर्न कई साल पहले मान लिए गए हैं।

एरिक इवांस की डीडीडी पुस्तक सॉफ्टवेयर निर्माण और ग्राहक सहयोग के बारे में एक बहुत ही ठोस और बहुत प्रेरक पुस्तक है - आर्किटेक्ट के लिए मूल्यवान कौशल, लेकिन डेवलपर्स के लिए भी अच्छा है।


1

मेरा सुझाव है कि, कृपया जाकर कोड 2 को पहले पढ़ें । इससे आपको अपने विचारों को आकार देने और चीजों को करने का सबसे अच्छा तरीका खोजने में मदद मिलेगी।

आर्किटेक्चर परिप्रेक्ष्य में, यह GOF या हेड फ़र्स्ट डिज़ाइन पैटर्न के साथ अच्छी शुरुआत है।

एंटरप्राइज एप्लीकेशन आर्किटेक्चर के पैटर्न एक उत्कृष्ट पुस्तक है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.