আমি জাভা কোডে অবজেক্টের কোনও রেফারেন্স না সঞ্চয় করে তৈরি করা জিনিস দেখেছি। উদাহরণস্বরূপ, একটি গ্রহন প্লাগইনে আমি একটি এসডাব্লুটি শেল দেখতে পেয়েছি:
new Shell();
এই নতুন শেল অবজেক্টটি কোনও ভেরিয়েবলে সংরক্ষণ করা হয়নি, তবে উইন্ডোটি বন্ধ হয়ে যাওয়ার পরে উইন্ডোটি নিষ্পত্তি না হওয়া অবধি রেফারেন্স থাকবে [যা আমি বিশ্বাস করি?] ডিফল্টরূপে উইন্ডোটি বন্ধ হয়ে যায় happens
এগুলিতে কোনও রেফারেন্স সংরক্ষণ না করে এ জাতীয় জিনিস তৈরি করা কি খারাপ অভ্যাস? নাকি লাইব্রেরিটি খারাপভাবে ডিজাইন করা হয়েছিল? আমার যদি কোনও রেফারেন্সের প্রয়োজন না হয় তবে কেবলমাত্র অবজেক্টটির "পার্শ্ব প্রতিক্রিয়া" চান? আমার কি কোনও রেফারেন্স সংরক্ষণ করা উচিত?
হালনাগাদ:
স্বীকার করা, আমার উপরোক্ত উদাহরণটি দরিদ্র। আমি যখন দেখেছি ইউআই উপাদানগুলি এই জাতীয়ভাবে তৈরি করা হয়েছে তখন এসডাব্লুটি শেল তৈরি করা অর্থহীন হবে কারণ আপনাকে শেল দৃষ্টান্তে ওপেন পদ্ধতিটি কল করতে হবে। জাভা সমঝোতা টিউটোরিয়াল থেকে নীচের মত আইস এর আরও ভাল উদাহরণ সরবরাহ করা হয়েছে :
(new HelloThread()).start();
এই অনুশীলনটি অনেক প্রসঙ্গে দেখা যায়, তাই প্রশ্নগুলি রয়ে গেছে। এটা কি ভাল অনুশীলন?
Shell.createTopLevelShell()
বা যাই হোক না কেন, বনাম এই ক্ষেত্রে একটি কন্সট্রাকটর ব্যবহার করে কিন্তু বৈশিষ্ট্যগুলি সামান্য পার্থক্য।।)
dispose()
ডি: নিয়ম 1: আপনি এটি তৈরি করলে আপনি তা নিষ্পত্তি করে দিন। eclipse.org/articles/swt-design-2/swt-design-2.html