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