| |
1-12 CORBA-Bestandteile, v3.0 Juni 2002 1 1,4,3,4 Navigationsschnittstelle auf Facettenschnittstellen Jede mögliche Schnittstelle, die entworfen wird, als Facettenschnittstelle auf einem Bestandteil benutzt zu werden, kann übernehmen Sie beliebig von der Navigation Schnittstelle. Wenn die Navigationsbetriebe (d.h., provide_facet , get_all_facets und get_named_facets ) werden auf der Facette hervorgerufen Hinweis, die Betriebe bringt die gleichen Resultate zurück, als ob sie an hervorgerufen worden waren die Teilschnittstelle, die die Zielfacette lieferte. Die Skelette erzeugt durch Teilimplementierungsrahmen liefert Implementierungen von diesen Betriebe, die zur Teilschnittstelle beauftragen. Diese Wahl läßt Navigation von einer Facette zu anderen pro sein gebildet in einem einzelnen Antrag, anstatt in einem Paar Anträgen (erhalten Teilhinweis und steuern von dort zur gewünschten Facette). , um zu veranschaulichen, betrachten Sie die folgende Teildefinition: Modulbeispiel { Schnittstellenfoo: Components::Navigation {... }; Schnittstellenstab {... }; Teilbazlernabschnitt { stellt foo a zur Verfügung; stellt Stab b zur Verfügung; }; }; Ein Klient könnte von a bis b steuern, wie folgt: foomyFoo; // nehmen Sie an, daß myFooeinflüsse, die ein Hinweis auf einem foo durch ein baz zur Verfügung stellte bazmyBaz = bazHelper.narrow(myFoo.get_component()); Stab myBar = myBaz.provide_b(); Oder, er könnte direkt steuern: foomyFoo; // nehmen Sie an, daß myFooeinflüsse, die ein Hinweis auf einem foo durch ein baz zur Verfügung stellte halten Sie myBar = barHelper.narrow(myFoo.provide_interface("b") ab; 1,4,4 Zur Verfügung gestellte Hinweise und Teilidentität Das same_component Betrieb auf der Navigation Schnittstelle erlaubt Klienten zu stellen Sie zuverlässig, ob zwei Hinweise dem gleichen Teilfall gehören, das fest von ist, ob die Hinweise Facetten sind oder direkt den gleichen Teilfall bezeichnen. Die Teilimplementierung ist für die Bestimmung schließlich verantwortlich, was Mittel "des gleichen Teilfalls". Die Skelette erzeugt durch den Bestandteil Implementierungsrahmen liefert eine Implementierung von same_component wo "der gleiche Fall" in den undurchlässigen Identitätswerten ausgedrückt definiert wird, die durch geliefert werden Teilimplementierung oder der Behälter im Behälterkontext. User-supplied Implementierungen können unterschiedliche Semantik zur Verfügung stellen. Wenn eine Facettenschnittstelle die Navigation übernimmt Schnittstelle, dann das same_component Betrieb auf der zur Verfügung gestellten Schnittstelle gibt die gleichen Resultate wie same_component Betrieb auf der Teilschnittstelle, die bereitgestellt besitzt |  |
|
| |
|
|