জাভাস্ক্রিপ্টে নকশার প্যাটার্নগুলির একটি সংক্ষিপ্ত গাইড



এই নিবন্ধটি আপনাকে জাভাস্ক্রিপ্টে ডিজাইনের প্যাটার্নগুলি সম্পর্কে আরও ভাল বোঝার জন্য সরলীকৃত পদ্ধতিতে বিস্তারিত পদ্ধতির সাহায্য করবে।

সাধারণত পুনরাবৃত্তি হওয়া সফ্টওয়্যার সমস্যার জন্য উন্নত অবজেক্ট-ভিত্তিক সমাধান are প্যাটার্নগুলি হ'ল বস্তুর পুনরায় ব্যবহারযোগ্য ডিজাইন এবং মিথস্ক্রিয়া। প্রতিটি নকশার একটি নাম রয়েছে এবং জটিল ডিজাইনের সমাধানগুলি নিয়ে আলোচনা করার সময় শব্দভান্ডারের অংশ হয়ে যায় becomes

জাভাস্ক্রিপ্ট ডিজাইন প্যাটার্নগুলি কি কি?

একটি হিসাবে সংজ্ঞায়িত করা যেতে পারে সফ্টওয়্যার টেম্পলেট বা কোনও সফ্টওয়্যার অ্যাপ্লিকেশন বা সফ্টওয়্যার ফ্রেমওয়ার্ক ডিজাইনের সময় একাধিক ক্ষেত্রে ঘটে যাওয়া সমস্যা সমাধানের জন্য একটি বিবরণ।





বিল্ডার ডিজাইন প্যাটার্নস

এখন, আসুন গ্যাং অফ ফোর (জিওএফ) নিয়ে আলোচনা করা যাক



চার জনের দল

দ্য 23 গ্যাং অফ ফোর (জিওএফ) নিদর্শনগুলি সাধারণত অন্যান্য সমস্ত নিদর্শনগুলির ভিত্তি হিসাবে বিবেচিত হয়।

গ্যাং অফ ফোর (জিওএফ) ডিজাইন প্যাটার্নস থেকে:



পুনরায় ব্যবহারযোগ্য অবজেক্ট-ওরিয়েন্টড সফ্টওয়্যার এর উপাদানসমূহ, অ্যাডিসন-ওয়েসলি পেশাদার কম্পিউটিং সিরিজ, দ্বারা এরিখ গামা, রিচার্ড হেলম, র‌্যাল্ফ ঝনসন, এবং জন ভ্লিসাইড। টিতিনি 23 GoF নিদর্শনগুলি সাধারণত অন্যান্য সমস্ত নিদর্শনগুলির ভিত্তি হিসাবে বিবেচিত হয়।তাদের তিনটি গ্রুপে শ্রেণিবদ্ধ করা হয়েছে: সৃষ্টিশীল, কাঠামোগত এবং আচরণমূলক।

নকশার ধরণগুলির প্রকারগুলি

জাভাস্ক্রিপ্টে মূলত তিনটি ধরণের ডিজাইন প্যাটার্ন রয়েছে। অনুসরণ হিসাবে তারা:

সৃষ্টিশীল প্যাটার্নস

বিমূর্ত কারখানা: এটি ক্লাসের বেশ কয়েকটি পরিবারের সাথে একটি উদাহরণ তৈরি করে। এটি এমন পরিবার তৈরির জন্য একটি ইন্টারফেস সরবরাহ করে যা তাদের কংক্রিট শ্রেণীর কোনও নির্দিষ্টকরণ ছাড়াই সম্পর্কিত বা নির্ভরযোগ্য অবজেক্ট।

নির্মাতা: এটি তার প্রতিনিধিত্ব থেকে বস্তুর নির্মাণকে পৃথক করে। একটি জটিল অবজেক্টের নির্মাণকে এর প্রতিনিধিত্ব থেকে পৃথক করে যাতে বিভিন্ন উপস্থাপনা দিয়ে ঠিক একই নির্মাণ প্রক্রিয়া তৈরি করা যায়।

কারখানার পদ্ধতি: এটি বেশ কয়েকটি উত্পন্ন ক্লাসের জন্য একটি উদাহরণ তৈরি করে। কোনও অবজেক্ট তৈরির জন্য একটি ইন্টারফেসও সংজ্ঞায়িত করে তবে সাবক্লাসটি সিদ্ধান্ত নিতে দেয় কোন বর্গ ইনস্ট্যান্ট করতে হবে। এটিতে একটি ফ্যাক্টরি পদ্ধতিও রয়েছে যা একটি শ্রেণি সাবক্ল্যাশনে ইনস্ট্যান্টেশন দেয়।

জাভা কোডগুলি কীভাবে সংকলন করা যায়

প্রোটোটাইপ: এটি সম্পূর্ণরূপে সূচিত উদাহরণ যা অনুলিপি বা ক্লোন করা যায়। বিশেষত, প্রোটোটাইপিকাল উদাহরণ ব্যবহার করে যে ধরণের অবজেক্ট তৈরি করা উচিত, এই প্রোটোটাইপটি অনুলিপি করে নতুন অবজেক্ট তৈরি করুন।

একক: এটি অনুলিপি করা বা ক্লোন করা উদাহরণগুলি সম্পূর্ণরূপে সূচিত isedপ্রোটোটাইপিকাল দৃষ্টান্ত ব্যবহার করে তৈরি করা এবং এই প্রোটোটাইপটি অনুলিপি করে নতুন অবজেক্ট তৈরি করা নির্দিষ্ট ধরণের অবজেক্টগুলির মধ্যে।

স্ট্রাকচারাল প্যাটার্নস

অ্যাডাপ্টার: এটি বিভিন্ন শ্রেণীর ইন্টারফেসের সাথে মেলে। ক্লাসটির ইন্টারফেসটিকে ক্লায়েন্ট থাকা ব্যতীত অন্য ইন্টারফেসে রূপান্তর করে। অ্যাডাপ্টারটি ক্লাসগুলি একসাথে কাজ করতে দেয় যা অসম্পূর্ণতা ইন্টারফেসের কারণে অন্যথায় নাও হতে পারে।

ব্রিজ: এটি কোনও বস্তুর ইন্টারফেসকে এর প্রয়োগ থেকে পৃথক করে। এর বাস্তবায়ন থেকে কোনও বিমূর্তাকে ডিকোপল করে যাতে দুটি স্বতন্ত্রভাবে পৃথক হতে পারে।

সংমিশ্রণ: একটি গাছের কাঠামোটি সহজ এবং সংমিশ্রিত বস্তুগুলির সাথে থাকে, অংশ-সম্পূর্ণ শ্রেণিবদ্ধের প্রতিনিধিত্ব করার জন্য গাছের কাঠামোর মধ্যে অবজেক্ট তৈরি করে। সংমিশ্রণ ক্লায়েন্টদের স্বতন্ত্র অবজেক্ট এবং অবজেক্টগুলির সংমিশ্রণগুলি আচরণ করতে দেয়।

সজ্জাকারক: গতিশীলভাবে বস্তুগুলিতে দায়িত্ব যুক্ত করে। গতিশীলভাবে কোনও বস্তুর অতিরিক্ত দায়িত্ব সংযুক্ত করে। সজ্জাগুলি কার্যকারিতা বাড়ানোর জন্য সাবক্লাসিংয়ের একটি নমনীয় বিকল্প সরবরাহ করে।

মুখোমুখি: একটি একক শ্রেণি যা একটি সম্পূর্ণ সাবসিস্টেম উপস্থাপন করে এবং সিস্টেমের ইন্টারফেসগুলির সেটগুলিতে ইউনিটি ইন্টারফেস সরবরাহ করে। ফাউড একটি উচ্চ-স্তরের ইন্টারফেস সংজ্ঞায়িত করে যা সাবসিস্টেমটি ব্যবহার করা সহজ করে তোলে।

ফ্লাইওয়েট: সূক্ষ্ম দানাযুক্ত বস্তুর দক্ষতার সাথে বৃহত সংখ্যক সমর্থন করার জন্য দক্ষ ভাগ করে নেওয়ার জন্য একটি সূক্ষ্ম দানযুক্ত উদাহরণ। ফ্লাইওয়েট হ'ল একটি ভাগ করা অবজেক্ট যা একই সাথে একাধিক সংখ্যায় ব্যবহার করা যেতে পারে।ফ্লাইওয়েট প্রতিটি প্রসঙ্গে স্বতন্ত্র অবজেক্ট হিসাবেও কাজ করে - এটি ভাগ করা হয়নি এমন বস্তুর উদাহরণ থেকে পৃথক।

প্রক্সি: এটি এমন একটি বস্তু যা অন্য কোনও বস্তুর প্রতিনিধিত্ব করে। এটিতে অ্যাক্সেস নিয়ন্ত্রণ করতে একটি সারোগেট বা কোনও স্থানধারক অবজেক্ট সরবরাহ করে।

আচরণের ধরণগুলি:

দায়িত্বের চেইন: এটি বস্তুর একটি শৃঙ্খলের মধ্যে একটি অনুরোধ পাস করার একটি উপায়। এটি প্রেরকের সাথে সংযুক্ত হওয়া এড়িয়ে যায় এবং একাধিক বস্তুকে অনুরোধটি পরিচালনা করার সুযোগ দিয়ে তার প্রাপকের কাছে একটি অনুরোধ প্রেরণ করে। প্রাপ্ত বস্তুগুলি শৃঙ্খলিত হয় এবং কোনও বস্তু এটি পরিচালনা না করা অবধি চেইন বরাবর অনুরোধটি পাস করে।

আদেশ: এটি একটি বস্তু হিসাবে একটি কমান্ড অনুরোধ encapsulates। আপনাকে কোনও অনুরোধ, সারি বা লগ অনুরোধের সাথে ক্লায়েন্টকে প্যারামিটারাইজ করতে দেয় এবং অবিভাজনীয় ক্রিয়াকলাপ সমর্থন করে object

সাজানো অ্যারে সি ++ অবতরণ

দোভাষী: প্রোগ্রামে ভাষার উপাদানগুলি অন্তর্ভুক্ত করার এটি একটি উপায়। একটি ভাষা দেওয়া হয়েছে, অনুবাদকের পাশাপাশি এর ব্যাকরণের জন্য একটি প্রতিনিধিত্ব সংজ্ঞায়িত করুন যা ভাষায় বাক্যগুলির ব্যাখ্যার জন্য উপস্থাপনাটি ব্যবহার করে।

আইট্রেটার: সংগ্রহের উপাদানগুলির ক্রমবর্ধমান অ্যাক্সেস তার অন্তর্নিহিত উপস্থাপনাটি প্রকাশ না করে ক্রমান্বয়ে সামগ্রিক সামগ্রীর উপাদানগুলিতে অ্যাক্সেসের একটি উপায় সরবরাহ করে।

মধ্যস্থতাকারী: এটি ক্লাসের মধ্যে যোগাযোগকে সহজ করার সংজ্ঞা দেয়। কোনও অবজেক্টের সংজ্ঞা দিন যা কোনও সামগ্রীর সেট কীভাবে ইন্টারঅ্যাক্ট করে enc মধ্যস্থতা একে অপরের সাথে স্পষ্টত উল্লেখ করা থেকে আলগা সংযোগকে উত্সাহ দেয় এবং এটি আপনাকে তাদের মিথস্ক্রিয়া স্বাধীনভাবে পরিবর্তিত করতে দেয়।

স্মৃতিসৌধ: এটি বস্তুর অভ্যন্তরীণ অবস্থা ক্যাপচার এবং পুনরুদ্ধার করে। এটি কোনও বস্তুর অভ্যন্তরীণ অবস্থাকে ক্যাপসুলেশন, ক্যাপচার এবং বহিরাগত করতে লঙ্ঘন করে না যাতে বস্তুটি এই রাজ্যে পরে পুনরুদ্ধার করা যায়।

পর্যবেক্ষক: এটি বেশ কয়েকটি ক্লাসে পরিবর্তনকে অবহিত করার একটি উপায়। এটি অবজেক্টগুলির মধ্যে একের মধ্যে একাধিক নির্ভরতা সংজ্ঞায়িত করে যাতে যখন কোনও বস্তু স্থিতি পরিবর্তন করে, তার উপর নির্ভরশীলের সমস্তগুলি স্বয়ংক্রিয়ভাবে অবহিত এবং আপডেট হয়।

রাষ্ট্র: এটি যখন কোনও বস্তুর অবস্থা পরিবর্তন করে তখন তার আচরণের পরিবর্তন করে। অভ্যন্তরীণ অবস্থার পরিবর্তন হলে কোনও বস্তুকে তার আচরণ পরিবর্তন করতে দেয়। অবজেক্টটি তার শ্রেণি পরিবর্তন করতে উপস্থিত হবে।

কৌশল: এটি শ্রেণীর ভিতরে একটি অ্যালগরিদমকে আবদ্ধ করে এবং একটি পরিবার অ্যালগরিদম সংজ্ঞায়িত করে, প্রতিটিকে আবদ্ধ করে এবং তারপরে বিনিময়যোগ্য করে তোলে। কৌশলটি এটিকে ব্যবহার করে এমন ক্লায়েন্টদের থেকে অ্যালগরিদম স্বতন্ত্রভাবে পরিবর্তিত হতে দেয়।

টেমপ্লেট: একটি উপক্লাসে অ্যালগরিদমের সঠিক পদক্ষেপগুলি স্থির করুন। এটি একটি অপারেশনে একটি অ্যালগরিদমের কঙ্কাল সংজ্ঞায়িত করে, সাবক্লাসে কিছু গুরুত্বপূর্ণ পদক্ষেপ মুলতুবি করে। টেমপ্লেট পদ্ধতিটি অ্যালগরিদমের কাঠামো পরিবর্তন না করেই একটি অ্যালগরিদমের কয়েকটি পদক্ষেপের উপসর্গটিকে নতুন সংজ্ঞা দিতে দেয়।

দর্শনার্থী: এটি কোনও পরিবর্তন ছাড়াই একটি শ্রেণিতে একটি নতুন ক্রিয়াকলাপ সংজ্ঞায়িত করে। কোনও অবজেক্ট কাঠামোর উপাদানগুলিতে সঞ্চালনের জন্য একটি ক্রিয়াকলাপ উপস্থাপন করুন। ভিজিটর আপনাকে যে উপাদানগুলির উপর চালিত হয় তাদের ক্লাসগুলি পরিবর্তন না করে আপনাকে একটি নতুন ক্রিয়াকলাপ সংজ্ঞায়িত করতে দেয়।

এটির সাথে আমরা এই নিবন্ধটির শেষে এসেছি। আমি আশা করি আপনি জাভাস্ক্রিপ্টে ডিজাইন প্যাটার্নগুলি, তাদের ধরণ, গুরুত্ব এবং তাদের প্রয়োগ বুঝতে পেরেছেন।

এখন আপনি জাভাস্ক্রিপ্টে ডিজাইন প্যাটার্নগুলির বেসিকগুলি বুঝতে পেরেছেন, এটি দেখুন এডুরেকা, বিশ্বস্ত জুড়ে 250,000 এরও বেশি সন্তুষ্ট শিক্ষার্থীর নেটওয়ার্ক সহ একটি বিশ্বস্ত অনলাইন লার্নিং সংস্থা by এডুরেকার জাভা জে 2 ইই এবং এসওএ প্রশিক্ষণ এবং শংসাপত্রের কোর্সটি এমন শিক্ষার্থী এবং পেশাদারদের জন্য তৈরি করা হয়েছে যারা জাভা ডেভেলপার হতে চান। কোর্সটি আপনাকে জাভা প্রোগ্রামিংয়ে একটি প্রধান সূচনা দেওয়ার জন্য এবং হাইবারনেট এবং বিভিন্ন জাভা ফ্রেমওয়ার্কের পাশাপাশি বিভিন্ন জাভা কাঠামোর পাশাপাশি আপনাকে মূল এবং উন্নত জাভা উভয় ধারণার জন্য প্রশিক্ষণের জন্য তৈরি করা হয়েছে & বসন্ত

আমাদের জন্য একটি প্রশ্ন আছে? এটি 'জাভাস্ক্রিপ্টে নকশার প্যাটার্নস' ব্লগের মন্তব্য বিভাগে উল্লেখ করুন এবং আমরা যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।