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