INFO
Sylabus
OMG CORBA, cz. 3
1. IDL: Dziedziczenie interfejsów
2. IDL: Struktury i Unie
3. IDL: Tablice, synonimy, stałe
4. IDL: odwzorowania językowe
5. Repozytorium interfejsów
6. Struktura repozytorium interfejsów
7. Repozytorium implementacji
8. Repozytoria interfejsów i implementacji
9. Adaptery obiektów
10. Role adapterów obiektów
11. BOA i POA
12. Co to są “osłony”?
13. Osłona: różne architektury
14. Osłona wewnętrzna i zewnętrzna
15. Grupowanie implementacji w osłony
16. Scenariusz zarządzania obiektami
17. Referencje
18. Statyczne vs. dynamiczne wołania metod
19. Mechanizm refleksjii
Skorowidz
Wyście:
Wyklad III. Wprowadzenie do OMG CORBA, część 3 (KURS SSR)
I II III IV V VI VII VIII IX X XI XII XIII XIV
« poprzedni punkt   następny punkt »

1. IDL: dziedziczenie interfejsów (interface inheritance)

CORBA woprowadza specjalny intrfejs Object z którego automatycznie dziedziczą wszystkie inne interfejsy.

 //OMG IDL 
 interface Factory { 
         Object create(); 
 }; 
 interface Spreadsheet; // Pominięto resztę specyfikacji 
   
// SpreadsheetFactory jest definiowana na podstawie Factory: interface SpreadsheetFactory : Factory { Spreadsheet create_spreadsheet(); };
SpreadsheetFactory dziedziczy z Factory; czyli obiekt, którego interfejs jest określony poprzez SpreadsheetFactory zapewnia dwie operacje:
  • create, odziedziczoną od Factory
  • create_spreadsheet, zdefiniowaną w SpreadsheetFactory
Zasada Otwarte-Zamknięte (Open-Close):
  • otwarte dla rozszerzeń
  • zamknięte dla modyfikacji
  • Zasada zamienialności (substitutability): referencja do obiektu specjalizowanego może być użyta wszędzie tam, gdzie może być użyta referencja do obiektu bazowego.

    2. IDL: struktury i unie

    struct - pozwala na grupowanie wartości różnych typów (podobnie do C/C++).

    module Bank { 
         struct DaneKlienta { 
                string imię, nazwisko; 
                short wiek; 
         }; 
         interface Konto { 
                DaneKlienta pobierzDane Właściciela(); 
                ... }; };

    union - pozwala na definiowanie alternatywnych struktur

    struct SData {short dzień, miesiąc, rok;}; 
    union Data switch (short) { 
         case 1  : string formatNapisu;  
         case 2  : long formatCyfrowy; 
         default : SData formatStruktury; 
    };
    « poprzedni punkt   następny punkt »