সংক্ষেপে সিওএম (কম্পোনেন্ট অবজেক্ট মডেল) কী? [বন্ধ]


89

মনে হয় COM অবজেক্টগুলি সাধারণ ব্যবহারের জিনিস যা ওএস দ্বারা পরিচালিত হয়। বস্তুগুলি একটি কঠোর ইন্টারফেস অনুসরণ করে এবং আপনাকে তথ্য নির্ধারণের জন্য অবজেক্টগুলিকে জিজ্ঞাসা করার অনুমতি দেয়। এটি কি সিওএম অবজেক্টস?

c++  com 

উত্তর:


112

সিওএম হ'ল একটি প্রক্রিয়া যা প্রোগ্রামার দ্বারা উপাদানগুলি প্রয়োগ করে এবং প্রোগ্রামার যিনি এটি ব্যবহার করেন এবং স্বাধীনভাবে উপাদানটি ক্লায়েন্টের প্রোগ্রামে প্রয়োগ করা হয়েছিল কিনা তা স্বাধীনভাবে পুনরায় ব্যবহারের অনুমতি দেয় or অন্য কোথাও মেশিনে (বা নেটওয়ার্ক)

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

interface IUnknown
{
   virtual HRESULT QueryInterface(REFIID riid, void **ppvObject) = 0;
   virtual ULONG AddRef(void) = 0;
   virtual ULONG Release(void) = 0;
};

এই ছোট ইন্টারফেসটি COM এ মৌলিক, কারণ প্রতিটি COM উপাদান অবশ্যই এটি প্রয়োগ করে implement এটি সিওএম যন্ত্রের দুটি গুরুত্বপূর্ণ দিক সংজ্ঞায়িত করে:

  • QueryInterfaceকলিং কোডটি একটি পরিচিত ইন্টারফেসের জন্য বাস্তবায়ন পেতে দেয়। সিওএম এ, ইন্টারফেসগুলি জিইউইডিএস দ্বারা রেফারেন্স করা হয় (এটি ইন্টারফেস আইডেন্টিফায়ার, আইআইডি নামে পরিচিত)। যদি কোনও বস্তু বেশ কয়েকটি ইন্টারফেস প্রয়োগ করে তবে ক্লায়েন্ট কোড সেভাবে প্রতিটি ইন্টারফেসের জন্য একটি রেফারেন্স পায়। এটি যদি আপনি চান তবে এক ধরণের operatorালাই অপারেটরের হিসাবে কাজ করে।
  • AddRef()এবং Release()COM অবজেক্টের জন্য মেমরি পরিচালন প্রক্রিয়া বাস্তবায়ন করুন। তাদের নাম অনুসারে, সর্বাধিক সাধারণ মডেলটি হল রেফারেন্স গণনা প্রক্রিয়া, যেখানে শেষ ক্লায়েন্টটি তার রেফারেন্স প্রকাশ করার পরে একটি উদাহরণ নষ্ট হয়ে যায়।

সমস্ত সিওএম উপাদান ইনস্টলেশন করার পরে সিস্টেমের সাথে নিবন্ধিত হয়। যদি কোনও প্রোগ্রামার একটি নির্দিষ্ট উপাদান ব্যবহার করতে চায় তবে তার প্রয়োজন:

  • নিশ্চিত হয়ে নিন যে উপাদানটি একটি পৌঁছনীয় স্থানে ইনস্টল করা আছে। বেশিরভাগ সময় এটি চলমান অ্যাপ্লিকেশনটির সিস্টেমে থাকে তবে সিওএম + এছাড়াও দূরবর্তী কম্পিউটারগুলিতে উপাদানগুলির অস্তিত্বের অনুমতি দেয়।
  • প্রদত্ত উপাদানটির জিআইডি জানুন। এই জিইউডি সহ, ক্লায়েন্ট তারপরে সিস্টেমটিকে উপাদানটি ইনস্ট্যান্ট করতে বলতে পারে (সিতে, এটি করার জন্য ফাংশনটি বলা হয় CoCreateInstance())। আপনি নীচে রেজিস্ট্রিটিতে দেখতে পারেন HKEY_CLASSES_ROOT\CLSID: সেখানে প্রতিটি জিইউইডি একটি কোম উপাদান বা ইন্টারফেসের জন্য সনাক্তকারী (সম্ভবত সম্ভবত) রয়েছে এবং কীটির নীচের এন্ট্রিগুলি কীভাবে তা ইনস্ট্যান্সিত করা উচিত তা সিস্টেমকে জানিয়ে দেয়।

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

উইন্ডোজের অনেক মৌলিক অংশ COM এর উপর ভিত্তি করে। উইন্ডোজ এক্সপ্লোরার (ফাইল ম্যানেজার) উদাহরণস্বরূপ, মূলত একটি খালি শেল। এটি গাছের স্তরক্রমের নেভিগেট এবং প্রদর্শন করার জন্য একগুচ্ছ সিওএম ইন্টারফেসকে সংজ্ঞায়িত করে, এবং সমস্ত কোড যা প্রকৃতপক্ষে "মাই কম্পিউটার", ড্রাইভ, ফোল্ডার এবং ফাইলগুলি প্রদর্শন করে এমন সিওএম উপাদানগুলির একটি সেট হিসাবে এই ইন্টারফেসগুলি প্রয়োগ করে।

। নেট এর আবির্ভাবের সাথে সাথে সিওএম ধীরে ধীরে অপ্রচলিত হয়ে উঠছে।


10
শেষ লাইনের উত্স?
শাদ

32

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

আপনি যদি সিওএমের ভাল পরিচিতি চান তবে ডন বক্স দ্বারা প্রয়োজনীয় সিওএম পড়ুন ।

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