আমি স্ট্যাটিক ক্লাস সম্পর্কে আমার ধারণাগুলি আগের থ্রেডে লিখেছি :
আমি স্ট্যাটিক পদ্ধতিতে ভরা ইউটিলিটি ক্লাস পছন্দ করতাম। তারা সাহায্যকারী পদ্ধতির একটি দুর্দান্ত একীকরণ করেছে যা অন্যথায় অপ্রয়োজনীয়তা এবং রক্ষণাবেক্ষণের নরককে ঘিরে। এগুলি ব্যবহার করা খুব সহজ, কোনও তাত্ক্ষণিক কাজ নেই, কোনও নিষ্পত্তি নেই, কেবল অগ্নিকাণ্ড get আমি অনুমান করি যে এটি একটি পরিষেবা ভিত্তিক আর্কিটেকচার তৈরির আমার প্রথম অযৌক্তিক প্রয়াস - প্রচুর স্টেটলেস পরিষেবা যা তাদের কাজটি করেছে এবং অন্য কিছুই না। যেহেতু একটি সিস্টেম বাড়ছে, ড্রাগন আসছে।
পলিমরফিজ্ম
বলুন আমাদের কাছে পদ্ধতিটি ইউটিলিটি ক্লাস রয়েছে omeসোম মেঠোড যা আনন্দের সাথে বাজে। হঠাৎ আমাদের কার্যকারিতা কিছুটা পরিবর্তন করতে হবে। বেশিরভাগ কার্যকারিতা একই, তবে তবুও আমাদের কয়েকটি অংশ পরিবর্তন করতে হবে। এটি একটি স্থিতিশীল পদ্ধতি না থাকলে আমরা একটি ডাইরিভেট শ্রেণি তৈরি করতে পারি এবং প্রয়োজনীয় পদ্ধতি পদ্ধতির সামগ্রী পরিবর্তন করতে পারি। এটি একটি স্থিতিশীল পদ্ধতি হিসাবে, আমরা পারি না। অবশ্যই, যদি আমাদের কেবল পুরাতন পদ্ধতির আগে বা পরে কার্যকারিতা যুক্ত করতে হয় তবে আমরা একটি নতুন শ্রেণী তৈরি করতে পারি এবং এর মধ্যে পুরানোটিকে কল করতে পারি - তবে এটি কেবল স্থূল।
ইন্টারফেস দুর্দশা
যুক্তির কারণে ইন্টারফেসের মাধ্যমে স্থির পদ্ধতিগুলি সংজ্ঞায়িত করা যায় না। এবং যেহেতু আমরা স্থিতিশীল পদ্ধতিগুলিকে ওভাররাইড করতে পারি না, স্ট্যাটিক ক্লাসগুলি যখন আমাদের ইন্টারফেসের মাধ্যমে তাদের পাস করার প্রয়োজন হয় তখন অকেজো হয়। এটি আমাদের কৌশল প্যাটার্নের অংশ হিসাবে স্ট্যাটিক ক্লাস ব্যবহার করতে অক্ষম করে। আমরা ইন্টারফেসের পরিবর্তে প্রতিনিধিদের পাস করে কিছু সমস্যা সমাধান করতে পারি।
পরীক্ষামূলক
এটি মূলত উপরে বর্ণিত ইন্টারফেসের দুর্দশাগুলির সাথে এক সাথে কাজ করে। আমাদের বিনিময় বাস্তবায়নের দক্ষতা যেহেতু খুব সীমিত তাই আমাদের পরীক্ষার কোডের সাথে উত্পাদন কোডটি প্রতিস্থাপন করতেও সমস্যা হবে। আবার, আমরা এগুলি গুটিয়ে রাখতে পারি তবে আসল অবজেক্টগুলির পরিবর্তে মোড়কে গ্রহণ করতে সক্ষম হওয়ার জন্য আমাদের কোডের বড় অংশগুলি পরিবর্তন করতে হবে।
পালকরা ব্লব করে
যেহেতু স্থিতিশীল পদ্ধতিগুলি সাধারণত ইউটিলিটি পদ্ধতি হিসাবে ব্যবহৃত হয় এবং ইউটিলিটি পদ্ধতিগুলির সাধারণত বিভিন্ন উদ্দেশ্য থাকে, তাই আমরা খুব শীঘ্রই একটি বৃহত শ্রেণীর সাথে সংযুক্ত না করে সুসংগত কার্যকারিতা দিয়ে পূর্ণ করব - আদর্শভাবে, প্রতিটি শ্রেণির সিস্টেমের মধ্যেই একক উদ্দেশ্য থাকা উচিত। যতক্ষণ না তাদের উদ্দেশ্যগুলি ভালভাবে সংজ্ঞায়িত করা হয় ততক্ষণ আমি তার চেয়ে পাঁচ গুণ বেশি ক্লাস করতাম।
প্যারামিটার হামাগুড়ি
শুরুতে, এই ছোট্ট সুন্দর এবং নির্দোষ স্থির পদ্ধতিতে একটি একক প্যারামিটার লাগতে পারে। কার্যকারিতা বাড়ার সাথে সাথে কয়েকটি নতুন পরামিতি যুক্ত করা হয়। শীঘ্রই আরও প্যারামিটারগুলি যুক্ত করা হয় যা alচ্ছিক, তাই আমরা পদ্ধতির ওভারলোডগুলি তৈরি করি (বা কেবল তাদের সমর্থনকারী ভাষাগুলিতে ডিফল্ট মান যুক্ত করি)। খুব শীঘ্রই, আমাদের একটি পদ্ধতি রয়েছে যা 10 পরামিতি নেয়। কেবলমাত্র প্রথম তিনটি সত্যই প্রয়োজনীয়, 4-7 পরামিতিগুলি alচ্ছিক। তবে যদি প্যারামিটার 6 নির্দিষ্ট করা থাকে, 7-9 এছাড়াও পূরণ করতে হবে ... আমরা যদি এই স্ট্যাটিক পদ্ধতিটি করে যা করার একক উদ্দেশ্য নিয়ে একটি শ্রেণি তৈরি করেছিলাম, তবে আমরা প্রয়োজনীয় প্যারামিটারগুলি গ্রহণ করে এটি সমাধান করতে পারতাম কনস্ট্রাক্টর এবং ব্যবহারকারীর বৈশিষ্ট্যগুলির মাধ্যমে alচ্ছিক মান নির্ধারণের অনুমতি দেয় বা একই সাথে একাধিক আন্তঃনির্ভরশীল মান সেট করতে পারে। এছাড়াও,
বিনা কারণে ক্লাসগুলির উদাহরণ তৈরি করার জন্য গ্রাহকদের দাবী
সর্বাধিক প্রচলিত যুক্তিগুলির মধ্যে একটি হ'ল, কেন আমাদের শ্রেণীর গ্রাহকরা দাবী করলেন যে এই ক্লাসের গ্রাহকরা এই একক পদ্ধতিতে অনুরোধ করার জন্য উদাহরণ তৈরি করবেন, যখন উদাহরণস্বরূপ পরে কোনও উদাহরণ নেই? একটি শ্রেণীর উদাহরণ তৈরি করা বেশিরভাগ ভাষায় খুব সস্তা অপারেশন, তাই গতি কোনও সমস্যা নয়। ভোক্তার সাথে অতিরিক্ত লাইন কোড যুক্ত করা ভবিষ্যতে অনেক বেশি রক্ষণাবেক্ষণ সমাধানের ভিত্তি স্থাপনের জন্য স্বল্প ব্যয়। এবং পরিশেষে, আপনি যদি উদাহরণগুলি তৈরি করা এড়াতে চান, কেবল আপনার শ্রেণীর একটি সিঙ্গলটন মোড়ক তৈরি করুন যা সহজেই পুনরায় ব্যবহারের সুযোগ দেয় - যদিও এটি আপনার শ্রেণিটি রাষ্ট্রহীন হওয়ার প্রয়োজনীয়তা তৈরি করে। এটি যদি রাষ্ট্রহীন না হয় তবে আপনি দীর্ঘমেয়াদে সমস্ত সুবিধা দেওয়ার পরেও স্থির মোড়কের পদ্ধতি তৈরি করতে পারেন যা সমস্ত কিছু পরিচালনা করে। অবশেষে,
কেবলমাত্র একটি সিথ বিস্মৃত হয়
অবশ্যই, আমার স্থির পদ্ধতিগুলি অপছন্দ করার ব্যতিক্রম রয়েছে। সত্যিকারের ইউটিলিটি ক্লাসগুলি যে ফুলতে কোনও ঝুঁকি তৈরি করে না সেগুলি স্থির পদ্ধতির জন্য দুর্দান্ত কেস - সিস্টেম।এর উদাহরণ হিসাবে রূপান্তর করুন। যদি আপনার প্রকল্পটি ভবিষ্যতের রক্ষণাবেক্ষণের জন্য কোনও প্রয়োজনীয়তা ছাড়াই একমাত্র বন্ধ থাকে তবে সামগ্রিক আর্কিটেকচারটি সত্যই খুব গুরুত্বপূর্ণ নয় - স্থিতিশীল বা অ স্থিতিশীল, আসলেই কিছু যায় আসে না - তবে উন্নয়নের গতি তা করে।
মান, মান, মান!
উদাহরণস্বরূপ পদ্ধতি ব্যবহার করা আপনাকে স্থির পদ্ধতিগুলি ব্যবহার করা থেকে বিরত রাখে না এবং বিপরীতে। যতক্ষণ না পার্থক্যের পিছনে যুক্তি রয়েছে এবং এটি মানক করা হয়েছে। বিভিন্ন বাস্তবায়ন পদ্ধতির সাথে বিস্তৃত ব্যবসায়ের স্তর দেখার চেয়ে খারাপ আর কিছু নেই।