CodeGym/Java Blog/এলোমেলো/জাভাতে ডিজাইন প্যাটার্ন [পর্ব 1]
John Squirrels
লেভেল 41
San Francisco

জাভাতে ডিজাইন প্যাটার্ন [পর্ব 1]

এলোমেলো দলে প্রকাশিত
সদস্যগণ
এটি জাভাতে ডিজাইনের নিদর্শনগুলির উপর একটি ছোট নিবন্ধ। কোন প্যাটার্ন বাস্তবায়ন হবে না, জাভাতে প্যাটার্নের একটি তালিকা এবং প্রতিটির একটি সংক্ষিপ্ত বিবরণ। যারা ইতিমধ্যেই বিষয়টির সাথে পরিচিত তাদের জন্য, এটি একটি পর্যালোচনা এবং সারাংশ হিসাবে সহায়ক হবে। বিপরীতভাবে, যারা প্রথমবার নিদর্শন সম্পর্কে শিখছেন তারা গভীরভাবে খনন করার আগে বিষয়টির প্রাথমিক ওভারভিউ হিসাবে এটি থেকে উপকৃত হবেন। জাভাতে ডিজাইন প্যাটার্ন [পর্ব 1] - 1 নকশা নিদর্শনপ্রায়শই ঘটতে থাকা প্রোগ্রামিং কাজগুলির জন্য ব্যবহার করার জন্য প্রস্তুত সমাধান। এটি একটি ক্লাস বা লাইব্রেরি নয় যা একটি প্রকল্পের সাথে সংযুক্ত হতে পারে। এটা আরো কিছু. প্রতিটি কাজের জন্য উপযুক্ত ডিজাইন প্যাটার্ন প্রতিটি নির্দিষ্ট ক্ষেত্রে প্রয়োগ করা হয়। আপনার মনে রাখা উচিত যে ভুলভাবে প্রয়োগ করা হলে বা একটি অনুপযুক্ত কাজে, একটি নকশা প্যাটার্ন অনেক সমস্যা তৈরি করতে পারে। যাইহোক, একটি সঠিকভাবে প্রয়োগ করা প্যাটার্ন আপনাকে সহজে এবং সহজভাবে কাজগুলি সম্পূর্ণ করতে সাহায্য করতে পারে।

প্যাটার্নের ধরন:

  • সৃষ্টিশীল
  • কাঠামোগত
  • আচরণগত
সৃজনশীল নিদর্শনগুলি প্রারম্ভিক প্রক্রিয়া প্রদান করে, যা আপনাকে সুবিধাজনক উপায়ে বস্তু তৈরি করতে দেয়। কাঠামোগত নিদর্শন শ্রেণী এবং বস্তুর মধ্যে সম্পর্ককে সংজ্ঞায়িত করে, তাদের একসাথে কাজ করার অনুমতি দেয়। আচরণগত নিদর্শনগুলি সত্তাগুলির মধ্যে মিথস্ক্রিয়াকে সহজ করতে ব্যবহৃত হয়।

সৃষ্টিশীল:

  • Singleton — একটি একক দৃষ্টান্তে একটি শ্রেণী তৈরিকে সীমাবদ্ধ করে এবং সেই একক দৃষ্টান্তে অ্যাক্সেস প্রদান করে।

  • ফ্যাক্টরি — ব্যবহৃত হয় যখন আমাদের একাধিক সাবক্লাস সহ একটি সুপারক্লাস থাকে এবং আমাদের ইনপুটের উপর ভিত্তি করে একটি সাবক্লাস ফেরত দিতে হবে।

  • বিমূর্ত কারখানা - কারখানা তৈরি করতে একটি সুপার কারখানা ব্যবহার করে, যা আমরা বস্তু তৈরি করতে ব্যবহার করি।

  • বিল্ডার — সাধারণ বস্তু ব্যবহার করে জটিল বস্তু তৈরি করতে ব্যবহৃত হয়। এটি ধীরে ধীরে একটি ছোট, সাধারণ বস্তু থেকে একটি বড় বস্তু তৈরি করে।

  • প্রোটোটাইপ - ডুপ্লিকেট বস্তু তৈরি করার সময় কর্মক্ষমতা উন্নত করতে সাহায্য করে; একটি নতুন বস্তু তৈরি করার পরিবর্তে, এটি একটি বিদ্যমান বস্তুর একটি ক্লোন তৈরি করে এবং ফেরত দেয়।

কাঠামোগত:

  • অ্যাডাপ্টার - দুটি বেমানান বস্তুর মধ্যে একটি রূপান্তরকারী। আমরা দুটি বেমানান ইন্টারফেস একত্রিত করতে অ্যাডাপ্টার প্যাটার্ন ব্যবহার করতে পারি।

  • যৌগিক — একটি গাছের কাঠামোর প্রতিনিধিত্ব করতে একটি শ্রেণী ব্যবহার করে।

  • প্রক্সি — অন্য ক্লাসের কার্যকারিতা প্রদান করে।

  • ফ্লাইওয়েট — বিপুল সংখ্যক অনুরূপ বস্তু তৈরি করার পরিবর্তে বস্তুর পুনরায় ব্যবহার করে।

  • Facade — একটি ক্লায়েন্টের জন্য একটি সাধারণ ইন্টারফেস প্রদান করে, যা সিস্টেমের সাথে ইন্টারফেস ব্যবহার করে।

  • ব্রিজ - একটি ইন্টারফেস বাস্তবায়নকারী ক্লাস থেকে নির্দিষ্ট ক্লাসগুলিকে স্বাধীন করে।

  • ডেকোরেটর - একটি বিদ্যমান বস্তুর কাঠামোর সাথে আবদ্ধ না করে নতুন কার্যকারিতা যোগ করে।

আচরণগত:

  • টেমপ্লেট পদ্ধতি — একটি মৌলিক অ্যালগরিদমকে সংজ্ঞায়িত করে এবং বংশধরদেরকে এর সামগ্রিক গঠন পরিবর্তন না করে অ্যালগরিদমের কিছু ধাপ ওভাররাইড করার অনুমতি দেয়।

  • মধ্যস্থতাকারী - একটি মধ্যস্থতাকারী শ্রেণী প্রদান করে যা বিভিন্ন শ্রেণীর মধ্যে সমস্ত যোগাযোগ পরিচালনা করে।

  • দায়িত্বের শৃঙ্খল — অনুরোধের প্রেরক এবং প্রাপকের মধ্যে কঠোর নির্ভরতা এড়ানো সম্ভব করে তোলে; অধিকন্তু, অনুরোধটি বিভিন্ন বস্তু দ্বারা প্রক্রিয়া করা যেতে পারে।

  • পর্যবেক্ষক - একটি বস্তুকে অন্য অবজেক্টে ঘটতে থাকা ইভেন্টগুলিকে নিরীক্ষণ এবং প্রতিক্রিয়া জানাতে দেয়।

  • কৌশল - কৌশলগুলি (অ্যালগরিদম) চালানোর সময় পরিবর্তন করার অনুমতি দেয়।

  • কমান্ড - একটি ইন্টারফেস যা একটি নির্দিষ্ট ক্রিয়া সম্পাদনের জন্য একটি পদ্ধতি ঘোষণা করে।

  • রাষ্ট্র - একটি বস্তুকে তার অবস্থার উপর নির্ভর করে তার আচরণ পরিবর্তন করতে দেয়।

  • ভিজিটর — সম্পর্কিত বস্তুর গ্রুপে ক্রিয়াকলাপ সহজ করতে ব্যবহৃত হয়।

  • দোভাষী - সমস্যা ডোমেনে একটি সহজ ভাষার জন্য একটি ব্যাকরণ সংজ্ঞায়িত করে।

  • ইটারেটর - ক্রমানুসারে একটি সংগ্রহের উপাদানগুলিকে এর অন্তর্নিহিত ফর্ম না জেনেই অ্যাক্সেস করে।

  • স্মৃতিচিহ্ন - একটি বস্তুর অবস্থা সংরক্ষণ করতে ব্যবহৃত; এই অবস্থা পরে পুনরুদ্ধার করা যেতে পারে.

আপনি যখন CodeGym কোর্সটি করবেন, আপনি এই তালিকায় কয়েকটি প্যাটার্নের সম্মুখীন হবেন। আমি নিদর্শন সম্পর্কে নিম্নলিখিত কাজগুলি সুপারিশ করি: 1522 , 1530 , 1631 , big01 , 2912 , 3107 ... ডিজাইন প্যাটার্নগুলির বুদ্ধিমান ব্যবহার আরও নির্ভরযোগ্য কোড রক্ষণাবেক্ষণের দিকে পরিচালিত করে, কারণ, ডিজাইন প্যাটার্নগুলি সাধারণ সমস্যার ভাল সমাধান , অন্যান্য বিকাশকারীরা তাদের চিনতে পারে, নির্দিষ্ট কোডের সাথে কাজ করার জন্য প্রয়োজনীয় সময় হ্রাস করে।
মন্তব্য
  • জনপ্রিয়
  • নতুন
  • পুরানো
মন্তব্য লেখার জন্য তোমাকে অবশ্যই সাইন ইন করতে হবে
এই পাতায় এখনও কোনো মন্তব্য নেই