আমি পাইথনে একটি লাইব্রেরি তৈরি করেছি যাতে একটি ডাটাবেস অ্যাক্সেস করার জন্য ফাংশন রয়েছে। এটি তৃতীয় পক্ষের অ্যাপ্লিকেশন ডাটাবেসের আশেপাশে একটি মোড়কের লাইব্রেরি, তৃতীয় পক্ষের অ্যাপ্লিকেশন কোনও শালীন এপিআই সরবরাহ করে না এই কারণে লিখিত। এখন আমি মূলত প্রতিটি ফাংশনটি ফাংশন কলটির সময়কালের জন্য একটি ডাটাবেস সংযোগটি খুলতে দেব যা ঠিক ছিল, যতক্ষণ না আমার প্রোগ্রাম যুক্তিটি ফাংশনগুলিতে নেস্টেড কলগুলি ব্যবহার করে যেখানে আমি তখন কয়েক হাজার বার একটি নির্দিষ্ট ফাংশন কল করব। এটি খুব অভিনয় ছিল না। এটি প্রোফাইলিংয়ে দেখানো হয়েছিল যে ওভারহেড ডাটাবেস সংযোগ সেটআপে ছিল - প্রতি ফাংশন কল প্রতি একবার। সুতরাং আমি ফাংশন (গুলি) এর মধ্যে থেকে ওপেন সংযোগটি নিজেই মডিউলে স্থানান্তরিত করেছি, যাতে লাইব্রেরি মডিউলটি আমদানি করা হলে ডাটাবেস সংযোগটি খোলা যায়। এটি আমাকে একটি গ্রহণযোগ্য অভিনয় দিয়েছে।
এ সম্পর্কে এখন আমার দুটি প্রশ্ন আছে। প্রথমত, আমার কি উদ্বিগ্ন হওয়া দরকার যে আমি আর স্পষ্টভাবে ডেটাবেস সংযোগটি বন্ধ করে দিচ্ছি না এবং কীভাবে আমি এই সেট-আপ দিয়ে স্পষ্টভাবে এটি করতে পারি? দ্বিতীয়ত, আমি যা করেছি তা কি ভাল অনুশীলনের ক্ষেত্রের কাছাকাছি গিয়ে পড়ে এবং অন্যথায় কীভাবে আমি এটির কাছে যেতে পারি?
openConnফাংশন সরবরাহ করুন এবং ব্যবহারকারীকে তাদের যে প্রতিটি ফাংশন তারা কল করবেন তা এটি পাস করুন, যাতে তারা কোনওwithবিবৃতিতে বা যে কোনও