ইডিয়াম এবং ডিজাইনের প্যাটার্নের মধ্যে পার্থক্য?


39

আইডিয়াম এবং ডিজাইন-প্যাটার্নের মধ্যে পার্থক্য কী? দেখে মনে হচ্ছে যে এই পরিভাষাগুলি কোথাও ওভারল্যাপ হয়েছে; ঠিক কোথায়, আমি জানি না। তারা কি বিনিময়যোগ্য? আমার কখন ব্যবহার করা উচিত?

এখানে সি ++ আইডিয়ামগুলির একটি তালিকা। আমি কি তাদের ডিজাইনের ধরণগুলি বলতে পারি?

উইকিপিডিয়া সংজ্ঞা দেয়,

প্রোগ্রামিং ইডিয়মটি একটি নিম্ন-স্তরের ডিজাইনের প্যাটার্ন হিসাবে

এর মানে কী? কী "নিম্ন স্তরের" এখানে এর অর্থ কি?

এই প্রশ্নটি অন্য একটি প্রশ্ন থেকে অনুপ্রাণিত: https://stackoverflow.com/questions/7343531/are-the-some-design- Patterns-language-d dependent


ব্যবহারিক বিবেচনায় পার্থক্য নির্ধারণ করা কঠিন হতে পারে (এবং একটি আইডিয়াম এবং ডিজাইনের ধরণের মধ্যে কিছুটা ধারাবাহিকতা থাকতে পারে)। তবে এটি সম্ভবত প্রাকৃতিক ভাষায় "আইডিয়ম" শব্দটি থেকে উদ্ভূত: en.wikedia.org/wiki/Idiom (যা সত্যই ব্যবহারের সাথে খাপ খায় না)।
মের্লিন মরগান-গ্রাহাম

2
এটি সম্ভবত প্রোগ্রামার্স এসই এর জন্য আরও উপযুক্ত।
অলিভার চার্লসওয়ার্থ

3
@ নাওয়াজ: একটি "ডিজাইনের প্যাটার্ন" একটি ভাষা ত্রুটির আশপাশে তুলনামূলকভাবে "উচ্চ-স্তরের" নির্মিত। একটি "আইডিয়ম" একটি ভাষা ত্রুটির চারপাশে তুলনামূলকভাবে "নিম্ন-স্তরের" গঠন; )
ত্রিস্তান সেন্ট

@ নওয়াজ- হাস্যরসের জন্য +1।
জেনিফার এস

উত্তর:


30

একটি মূর্খতা একটি ভাষার গির্জার চারপাশে কাজ করার একটি ধারণা is কিছু উদাহরণ যা মাথায় আসে তা হ'ল মূল প্রশ্নের সাথে আপনি সংযুক্ত কোনও সি ++ আইডিয়োম। তারা সেই ভাষায় একটি সাধারণ সমস্যাটিকে একটি টিনজাত উপায়ে সমাধান করে।

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

নিম্ন-স্তরের থেকে উচ্চ-স্তরের ভাষায় যেমন আছে তেমনি আইডিয়াম এবং ডিজাইনের ধরণগুলির মধ্যে একটি ধারাবাহিকতা রয়েছে।

দর্শনার্থী প্যাটার্ন একটি ভাল উদাহরণ; যদি কেবলমাত্র একটি ভাষা ছিল যা কেবলমাত্র একক গতিশীল-প্রেরণকে সমর্থন করে, তবে আমরা ভিজিটর প্যাটার্নটিকে সেই ভাষার মূর্তি হিসাবে বিবেচনা করতে পারি। তবে এমন অনেকগুলি ভাষা রয়েছে যেগুলি সরাসরি একাধিক-প্রেরণকে সমর্থন করে না। অতএব, দর্শনার্থীর প্যাটার্নের জন্ম হয়েছিল।

পর্যবেক্ষক নিদর্শনটিও মাথায় আসে - সি # সরাসরি এটিকে সমর্থন করে, তাই এটির জন্য সাধারণ কাজের আশেপাশের ফর্মটির প্রয়োজন নেই।

অন্য দিকে যাওয়ার উদাহরণ হ'ল ওও বৈশিষ্ট্যগুলি (উত্তরাধিকার, পলিমারফিজম ইত্যাদি)। সি সরাসরি তাদের সমর্থন করে না। যদি আরও ভাষা সি-এর মতো হয়, তবে আমরা ভি-টেবিলগুলি, টাইপ-সুরক্ষা ইত্যাদি বাস্তবায়নের জন্য নকশার নকশাগুলি বিকাশ করতে পারি Since সমাধান একটি নকশা প্যাটার্ন।


2
আর একটি আকর্ষণীয় উদাহরণ: সাবলীল সিনট্যাক্স এপিআই। তারা এই সত্যটি তৈরি করে যে আপনার নিজের ভাষায় সরাসরি ডিএসএল সমর্থন নেই এবং এটি ভাষার সীমানা পেরিয়ে যায়। আমি নিশ্চিত এটা এখনো একটি "নকশা প্যাটার্ন" স্থিতিতে স্নাতক করছি করেননি, এবং এটি একটি অন্বিত বাগ্ধারা মত রিং ...
Merlyn মর্গান-গ্রাহাম

সি # সরাসরি পর্যবেক্ষক প্যাটার্নকে সমর্থন করে এমনটি মনে হয় যে এটির নিদর্শনটির খুব প্রয়োজন আছে, তাই এটি বাস্তবায়নটিকে বিকাশকারীদের থেকে দূরে সরিয়ে ভাষাতে পরিণত করে।
jaco0646

@ জ্যাকো06466 আমি সেই লাইনটি উচ্চারণ করেছি, এখন আরও স্পষ্ট হতে পারে
মার্লিন মরগান-গ্রাহাম

37

নকশার ধরণগুলি সাধারণত ভাষা নির্দিষ্ট হয় না। ভাষার আইডিয়ামগুলি কোনও ভাষার (বা ভাষার শ্রেণি) নির্দিষ্ট বৈশিষ্ট্যের উপর নির্ভর করে বা বর্ণিত ভাষাগুলিতে একটি নির্দিষ্ট ঘাটতি ঘটিয়ে কাজ করে।


কয়েকটি শব্দ এবং কয়েকটি ভুল ব্যবহার করে পার্থক্য আঁকতে +1।
মের্লিন মরগান-গ্রাহাম

1
@ মেরলিন মরগান-গ্রাহাম: আপনি প্রশ্ন সহ প্রায় সব উত্তর সম্পর্কে মন্তব্য করেছেন । তাহলে আপনি কেন কোনও অকার্যকরতা সহ বিশদ উত্তর পোস্ট করবেন না ? আমি আপনার চিন্তা জানতে চাই।
নওয়াজ

1
@ নাওয়াজ: মন্তব্যটি অন্য উত্তর সম্পর্কে ছিল। এটি ইতিমধ্যে প্রায় নিখুঁত। আমি আদর্শভাবে একটি উত্তরে নমুনাগুলি পছন্দ করি তবে মনে হয় কেউ এগুলি সঠিকভাবে পাচ্ছে না। আমি সম্ভবত হয় না, অন্যথায় আমি আনন্দের সাথে বাধ্য হয়েছি :)
মেরলিন মরগান-গ্রাহাম

@ নাওয়াজ: ঠিক আছে আমি এটিকে যাইহোক শট দিয়েছি :)
মের্লিন মরগান-গ্রাহাম

12

আমি উইকিপিডিয়া সংজ্ঞায় খুব বেশি মুদ্রা রাখব না।

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

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


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

@ মেরলিন প্রথম-শ্রেণীর ভাষার বৈশিষ্ট্যটির পুনর্বিবেচনা সম্পর্কে মুশকিল কি? কে করে?
ড্যান্টন

এটাই আসল কথা. এই ভাষার ব্যবহারকারীরা "নকশার ধরণ "টিকে একটি প্রতিমা হিসাবে বিবেচনা করবেন, কারণ তাদের ভাষা শীতল :)
মার্লিন মরগান-গ্রাহাম

@ মের্লিন এটি আমার 'আইডিয়াম' এর ব্যবহারগুলিতে ফিট করে না। কোনও ভাষার মূর্খতা এমন একটি জিনিস যা আপনি ভাষার এলোমেলো, দক্ষ ব্যবহারকারীকে চিনতে আশা করেন; প্রথম শ্রেণির বৈশিষ্ট্যটি পুনরায় প্রয়োগ করা ভিনগ্রহী এবং স্থানের বাইরে দেখবে। সিঙ্গেল প্রেরণের জন্য কোনও সি ++ আইডিয়োম নেই, কেবলমাত্র virtualকয়েকটি জায়গায় ব্যবহার করা হয় যেখানে সদস্যদের টেবিলের কৌশলগুলির হাতে হাতে লিখিত পয়েন্টারটি কেবল নির্বোধ দেখাবে।
লুক ড্যান্টন

1
আমি পছন্দ করি যেখানে আপনি "গরিব লোকের নকশার ধরণ" এর চেয়ে আলাদা আইডিয়মের সংজ্ঞা নিয়ে চলেছেন, এটি আমার মডেলটি কীভাবে আচরণ করে তা সাজানো (আমার উত্তর দেখুন)। এটি এখানে "এটি কীভাবে বাস্তবায়ন করা যায়" এর চেয়ে কম এবং আরও "এখানে এটি প্রয়োগের সঠিক উপায়"। উদাহরণস্বরূপ, আমি "বিগ থ্রি" ডিজাইনের ধরণে বিকশিত হওয়ার কল্পনা করতে পারি না। এবং সিনথেটিক উপাদানও রয়েছে, যেমন, do_something() or die "...";(এখানে অন্য মন্তব্য থেকে চুরি হয়েছে)। এটি নির্দিষ্ট ভাষার বৈশিষ্ট্যগুলির উপর ভিত্তি করে, তবে এই বৈশিষ্ট্যগুলি ব্যবহার করার এটি একটি সাধারণ উপায়। এটি ক্রস-ল্যাঙ্গুয়েজ নয় এবং সম্ভবত তা হবে না।
মের্লিন মরগান-গ্রাহাম

6

ইডিয়মের সাধারণ ইংরেজি ভাষার সংজ্ঞা। এমন একটি বাক্যাংশ, যার স্বীকৃত অর্থ ব্যবহৃত শব্দের মধ্যে নেই। উদাহরণগুলি হ'ল "বৃষ্টিপাতের বিড়াল এবং কুকুর" বা "গরুর মাংস কোথায়?"

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

পার্ল সম্ভবত সবচেয়ে বুদ্ধিমান সমৃদ্ধ ভাষা। যেমন নির্মাণ সঙ্গে:

while (<IN>) {
    print $_
}

যার অর্থ অভিজ্ঞ পার্ল প্রোগ্রামার কাছে সুস্পষ্ট তবে অন্য কারও কাছে রহস্য


আমি মনে করি "গরুর মাংসটি কোথায়" একটি মূর্খতার চেয়ে মেম হয়। সেখানে আরও একটি ধারাবাহিকতা থাকতে পারে;) কেবলমাত্র ভাষায় বাস্তবায়ন করার চেয়ে মূর্খতার আরও কিছু থাকতে পারে, কারণ বিষয়গুলি সেই প্রতিরক্ষাটির আংশিক বা ব্যর্থ বাস্তবায়ন হতে পারে - সি ++ এর "বিগ থ্রি" উদাহরণস্বরূপ। সেক্ষেত্রে এই প্রতিমাটি হ'ল "বিগ থ্রি" এর নাম এবং বর্ণনা।
মের্লিন মরগান-গ্রাহাম

2
পার্ল হয়েছে সেরা - বাগধারারdo_something() or die "arrrrgh!";
cxfx

2

বুদ্ধিমান ভাষা নির্দিষ্ট। উদাহরণস্বরূপ while (*dest++=*src++);একটি সি / সি ++ প্রতিমা। পাস্কাল বা জাভাতে দূরবর্তীভাবে অনুরূপ কিছু লিখতে সম্পূর্ণ অসম্ভব। "আইডিয়ম" শব্দটি ইংরেজিতে ব্যবহার করার সাথে সাথে ব্যবহার করুন। "আপনি কেমন আছেন?" একটি অভিবাদন হিসাবে একটি প্রতিবাদ হিসাবে। জার্মান এবং ফ্রেস জাতীয় কিছু ভাষার একই পরিচয় রয়েছে। তবে প্রচুর অন্যান্য ভাষা শুভেচ্ছা হিসাবে এই জাতীয় কিছু "জিজ্ঞাসা" করবে না। অন্যদিকে একটি (অবজেক্ট ওরিয়েন্টেড) প্যাটার্নটি সাধারণত যে কোনও ভাষায় অভিযোজিত হতে পারে যা উত্তরাধিকার এবং প্রতিনিধি দলকে সমর্থন করে। একটি প্রতিমাটি কোডের এক লাইনের মতোই সহজ হতে পারে। একটি নকশার ধরণে সর্বদা বেশ কয়েকটি ক্লাস জড়িত।


+1 টি। ভাল কথা:A idiom might be as simple as one line of code. A design pattern always involves several classes.
নওয়াজ

2

আমি এই পোস্টটি সাধারণ সি ++ বুদ্ধিমানদের সন্ধান করতে পেয়েছি, কারণ আমি সম্প্রতি এটির মধ্যে যথেষ্ট গভীর গভীরতা পেয়ে চলেছি এবং আমার কোডটি আমার মতো অপেশাদার হিসাবে দেখতে না চাই ... :- পি

পার্লের সাথে বেশ কিছুটা সময় ব্যয় করার পরে, আমি সেই ভাষায় রীতিমতো প্রতিভা পেয়েছি যেমন প্রাকৃতিক ভাষায় যেমন ইংরেজি বা স্প্যানিশ পাওয়া যায় (ঠিক দু'জনেই আমি কিছু বুদ্ধিমান জানার পক্ষে যথেষ্ট জানি) like

আমি একমত নই যে একটি প্রতিমাটি "ছোট ডিজাইনের ধরণ" এর মতো। আমি এখনও একমত নই, যদিও এর চেয়ে কম, তবে একটি ভাষার প্রতিচ্ছবি একটি ভাষার ঘাটতি পূরণ করার উপায় around

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

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

আর একটি উল্লেখযোগ্য উদাহরণ হ'ল " দ্য অর্কিশ ম্যানুভার ", যা সত্য / মিথ্যা, ধনী অপারেটর এবং অপারেটর অগ্রাধিকারের পার্লের ধারণাগুলির সুবিধা গ্রহণ করে।

যেটি আমি ব্যক্তিগতভাবে বেশ খানিকটা পছন্দ করি তা অর্কিশ ম্যানুভারের সাথে কিছুটা সম্পর্কিত, তবে আমি এর কোনও নাম জানি না:

push @{ $some_hash{$key} ||= [] }, $some_value;

এটি প্রকৃতপক্ষে অবহেলা নয়, বরং এমন কোনও বিষয়টির একটি পরিষ্কার, সংক্ষিপ্ত প্রকাশ যা অন্যথায় বেশ কয়েকটি লাইন গ্রহণ করবে। যদি কীটি হ্যাশটিতে উপস্থিত থাকে এবং এর সত্যিকারের মান থাকে তবে এটিকে অ্যারে হিসাবে ডি-রেফারেন্স করুন এবং ar কিছু_মূল্যটিকে ar অ্যারেটিতে চাপুন। যদি হ্যাশ উপাদান উপস্থিত না থাকে বা একটি ভুয়া মান থাকে তবে এটিকে একটি খালি অ্যারে নির্ধারণ করুন, তারপরে অ্যারেটিকে ডিপ্রিফার করুন এবং পুশ করুন।

এটাও লক্ষণীয় যে পার্ল 5.14 অনুসারে, এই প্রতিমাটির কিছু অংশ অপ্রচলিত - ধাক্কা এখন অ্যারে রেফারেন্সে সরাসরি পরিচালনা করতে পারে, কোনও @ {} প্রয়োজন নেই! এছাড়াও, পার্ল ৫.১০ অনুসারে, কেউ || = এর পরিবর্তে // = ব্যবহার করতে পারেন যা সত্যের জন্য নয় বরং সংজ্ঞায়িত নেসের জন্য পরীক্ষা করে।


পাইথন মধ্যে: some_dict.setdefault(key, []).append(some_value)
জোনাস কলকার

0

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


ইভেন্ট শ্রোতা একটি ভাষা বৈশিষ্ট্য যা সংকেত / স্লট (প্যাটার্ন?) বা পর্যবেক্ষক নিদর্শন প্রয়োগ করে। সি ++ তে আইডিয়োম নামেও এমন কিছু জিনিস রয়েছে যা অন্যান্য ভাষায় (আমি যতদূর জানি) কেবল তাত্পর্যপূর্ণ হয় না বা ফিট করে না - যেমন অনুলিপি-এবং-অদলবদ প্রথা।
মের্লিন মরগান-গ্রাহাম

Design patterns are specific implementations of an idiom? ঠিক কীভাবে? আপনি কি আমার প্রশ্নের লিঙ্কটিতে সি ++ আইডিয়মগুলি দেখেছেন?
নওয়াজ

0

আমি ১০০% নিশ্চিত নই, তবে আইডিয়ামগুলি কেবল একটি নির্দিষ্ট ক্ষেত্রের সাথে সম্পর্কিত শর্ত। আপনি যখন "ডিজাইনের ধরণগুলি" বলবেন, আপনি "পর্যবেক্ষক প্যাটার্ন" "দায়বদ্ধতার চেইন" "ভিজিটর প্যাটার্ন" "ফ্যাক্টরি" ভাবেন। এগুলি প্রোগ্রামিংয়ের সাধারণ সমস্যাগুলি সমাধান করার জন্য ব্যবহৃত সাধারণ প্যাটার্ন। একটি বিস্তৃত তালিকার জন্য এখানে দেখুন: http://en.wikibooks.org/wiki/C++_Programming/ কোড / ডিজাইন_প্যাটার্নস


0

এর মানে কী? "নিম্ন-স্তরের" এর অর্থ এখানে কী?

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

উদাহরণস্বরূপ, কোনও ভেরিয়েবল সেট করা যদি এটি মিথ্যাতে মূল্যায়ন করে (সাধারণত শর্তাধীন নীল ভেরিয়েবল সেট করতে ব্যবহৃত হয়):

var ||= some_default_value

0

একটি ইভেন্ট পরিচালনা করার জন্য এখানে আইডিয়ামের একটি উদাহরণ (সি # তে)। কোনও ইভেন্ট হ্যান্ডলার সংযুক্ত না থাকলে আপনাকে কোনও অনুষ্ঠান চালানোর অনুমতি দেওয়া হবে না, তাই প্রথমে প্রথমে প্রথমে এটি পরীক্ষা করা উচিত।

অতএব ইভেন্টগুলি পরিচালনা করার জন্য সাধারণ প্রতিভা হয়ে ওঠে:

EventHandler handler = this.MyEvent;
if ( null != handler ) { handler( param1, param2 ); }

এই আইডিয়ামটি সি # ভাষার ক্ষেত্রে নির্দিষ্ট (যদিও একচেটিয়া নয়) is

আরও সাধারণভাবে তবে, সি # ইভেন্টিং মেকানিজম পর্যবেক্ষক ডিজাইন প্যাটার্নের একটি উদাহরণ যা কোনও ভাষায় প্রয়োগ করা যেতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.