ارتباط بین Component ها در COM از طریق Interface
اسلاید 1: 1آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)موضوع ارائه ارتباط بين component ها در COM از طريق Interfaceارتباط بين Component ها در COM از طريق Interfaceارائه درس معماري سيستم هاي بزرگ استاد مربوطه: دکتر عبداله زاده
اسلاید 2: 2آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)موضوع ارائه: ارتباط بين component ها در COM از طريق Interface Component Object Model ايجاد يک چارچوب استاندارد براي ارتباطات داخليمستقل از زبان برنامه نويسيارائه در پلت فرم هاي مختلف (Microsoft Windows, Microsoft Windows NT, Apple, Mac, Unix)تسهيل مکانيزم هاي توسعه Component-based
اسلاید 3: 3آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)موضوع ارائه: ارتباط بين component ها در COM از طريق Interface ارتباط بين Component ها Component ها از طريق Interface ها با يکديگر ارتباط دارنداشاره گر به هر Component در واقع اشاره گر به يک Interface مي باشدامکان دسترسي به داده هاي Object وجود ندارد (بر خلاف Object ها در C++)
اسلاید 4: 4آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)موضوع ارائه: ارتباط بين component ها در COM از طريق Interface مثالي از Interfaceinterface ILookup : public IUnknown{ public: virtual HRESULT __stdcall LookupByName( LPTSTR lpName,TCHAR **lplpNumber) = 0; virtual HRESULT __stdcall LookupByNumber(LPTSTR lpNumber, TCHAR **lplpName) = 0; };
اسلاید 5: 5آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)موضوع ارائه: ارتباط بين component ها در COM از طريق Interface ويژگي هاي InterfaceInterface با کلاس متفاوت استInterface مستقل از Component اي است که آن را بازنمايي مي کندClient ها فقط و فقط از طريق Interface ها با Component ها در ارتباط هستندهر يک از Component ها مي تواند بيش از يک Interface داشته باشدهر Interface داراي يک GUID مي باشد که ارتباط با آن از طريق همين ID مي باشدInterface ها داراي Version هاي مختلف نمي باشند
اسلاید 6: 6آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)موضوع ارائه: ارتباط بين component ها در COM از طريق Interface شماي InterfaceObjectABCهر Component مي تواند بيش از يک Interface داشته باشد
اسلاید 7: 7آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)موضوع ارائه: ارتباط بين component ها در COM از طريق Interface شماي InterfaceObjectClient ApplicationInterface Pointer
اسلاید 8: 8آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)موضوع ارائه: ارتباط بين component ها در COM از طريق Interface شماي InterfaceApplicationObjectApplicationObject
اسلاید 9: 9آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)موضوع ارائه: ارتباط بين component ها در COM از طريق InterfaceGlobal Unique Identifiers 128 بيت مي باشد و يکتا استبراي ارجاع به Interface ها و Component ها به کار مي روداسامي Human-Readable تنها به منظور راحتي کد نويسي است و توسط ماشين استفاده نمي شودباعث مي گردد تا Component ها به Component هاي اشتباه متصل نگردندابزارMicrosoft UUIDgenCoCreateGUID
اسلاید 10: 10آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)موضوع ارائه: ارتباط بين component ها در COM از طريق InterfaceIUnknown Interface براي پياده سازي برخي کارکردهاي اساسي Interface به کار مي رودکليه Interface ها از آن ارث مي برند و Component ها بايد آن را پياده سازي نمايندداراي سه متد اصلي استQueryInterfaceAddRefRelease
اسلاید 11: 11آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)موضوع ارائه: ارتباط بين component ها در COM از طريق InterfaceIUnknown Interface interface IUnknown { virtual HRESULT QueryInterface(IID& iid, void** ppvObj) = 0; virtual ULONG AddRef() = 0; virtual ULONG Release() = 0;}
اسلاید 12: 12آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)موضوع ارائه: ارتباط بين component ها در COM از طريق InterfaceQueryInterface به طور پويا و در زمان اجرا مشخص مي نمايد که يک Interface خاص توسط Component مورد نظر ارائه مي گردد يا خيربراي درخواست يک کارکرد خاص از يک Component مي بايست QueryInterface مربوط به آن Component را Call نماييمSucceedFail
اسلاید 13: 13آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)موضوع ارائه: ارتباط بين component ها در COM از طريق InterfaceLPLOOKUP *pLookup;TCHAR szNumber[64];HRESULT hRes;//Call QueryInterface on the component object PhoneBook, asking for a pointer //to the Ilookup interface identified by a unique interface ID.hRes = pPhoneBook->QueryInterface( IID_ILOOKUP, &pLookup);if( SUCCEEDED( hRes ) ) { // use Ilookup interface pointer pLookup->LookupByName(“Hamid, &szNumber);pLookup->Release(); // finished using the IPhoneBook interface pointer}else{ // Failed to acquire Ilookup interface pointer.}
اسلاید 14: 14آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)موضوع ارائه: ارتباط بين component ها در COM از طريق InterfaceComponent Object Library امکانات لازم براي ارتباط بين Component ها از طريق Interface ها را فراهم مي کندمراحل اجراپيدا کردن ID مربوط به Component در registry databaseexe: CoRegisterClassFactory DLL: DllGetClassFactory اشاره گر به Interface مورد نظر بازگردانده مي شود
اسلاید 15: 15آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)موضوع ارائه: ارتباط بين component ها در COM از طريق InterfaceClient ProcessClient ApplicationIn-ProcessComponent ObjectLocalObjectProxyRemoteObjectProxyCOMIn-Process Server
اسلاید 16: 16آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)موضوع ارائه: ارتباط بين component ها در COM از طريق InterfaceInter-ProcessCommunicationLRPCLRPCRPCRPCCross-ProcessWithLightweight RPCCross-networkWith true RPC
اسلاید 17: 17آزمايشکاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)موضوع ارائه: ارتباط بين component ها در COM از طريق InterfaceLocal Server ProcessLocalObjectLocal ServerStubObjectCOMRemote Server ProcessRemoteComponent ObjectRemote ServerStubObjectCOM
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.