फ्रेमवर्क स्वाभाविक रूप से विशिष्ट मॉड्यूल और उप-प्रणालियों (जैसे कि GUI फ्रंट-एंड) के डिजाइन को प्रभावित करते हैं । जैसा कि अन्य उत्तर में उल्लेख किया गया है, आपके पास एक कठिन समय होगा यदि आप खुद को अपने चुने हुए ढांचे (एस) के खिलाफ लड़ते हुए पाते हैं।
अधिक व्यापक रूप से, आपको किसी भी एकल ढांचे या तकनीक को अपने पूरे सिस्टम आर्किटेक्चर के "बड़े चित्र" को निर्देशित या संचालित करने से बचना चाहिए। अधिकांश सामान्य-उद्देश्य वाले एप्लिकेशन फ्रेमवर्क इसे प्रोत्साहित नहीं करते हैं, इसलिए यदि आप अपने आप को एक फ्रेमवर्क के आसपास अपना पूरा सिस्टम लिखते हुए पाते हैं तो आप शायद कुछ कर रहे हैं, उस फ्रेमवर्क के लेखक का इरादा नहीं था।
आप विभिन्न समस्याओं को हल करने के लिए कई अलग-अलग रूपरेखाओं का उपयोग करेंगे; चूंकि आपकी प्रणाली अधिक जटिल हो जाती है इसलिए आपको द बिग बॉल ऑफ मड के निर्माण में सावधानी नहीं बरतने की आवश्यकता है । जहाँ संभव हो, अपने सिस्टम को मॉड्यूलर और शिथिल युग्मित रखें। रैपर और एडेप्टर लिखकर कुछ फ्रेमवर्क को अमूर्त के पीछे रखा जा सकता है जो फ्रेमवर्क-विशिष्ट वर्कफ़्लोज़ को अन्य घटकों से दूर छिपाते हैं। जीयूआई टूलकिट केवल फ्रंट-एंड जीयूआई कार्यक्षमता की सेवा करते हैं, इसलिए उन जीयूआई मॉड्यूल को बाकी सिस्टम से दूर रखा जाना चाहिए।
सामान्य प्रयोजन के ढांचे (जैसे कि यूआई फ्रेमवर्क, डेटा लेयर फ्रेमवर्क, आदि) आपके सिस्टम की पूरी वास्तुकला को संरक्षित करने के लिए मौजूद नहीं हैं - कम से कम वे एक घटक या मॉड्यूल के डिजाइन को लिख सकते हैं; उदाहरण के लिए, कुछ GUI प्रौद्योगिकियाँ विशेष रूप से MV * प्रतिमानों के अनुरूप हैं।
आपके सिस्टम की समग्र वास्तुकला मुख्य रूप से आपकी व्यावसायिक आवश्यकताओं से प्रेरित होनी चाहिए । किसी चीज़ को आपस में बाँधने के लिए आप किसी विशेष टूल (उदाहरण के लिए, एक संदेशवाहक मिडलवेयर टूल, या ORM फ्रेमवर्क) पर खुद को बहुत अधिक झुका पाते हैं, लेकिन यदि आपने एक 'सर्विस' क्लास जैसे एब्स्ट्रक्शन में फ्रेमवर्क को एनकैप्सुलेट किया है जब आप अपनी सीमाओं का सामना करते हैं तो उस ढांचे से खुद को विवश होने की संभावना कम होती है।
अपने बड़े-चित्र डिजाइन के लिए निम्नलिखित बातों को ध्यान में रखने की कोशिश करें: