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