www.wikidata.de-de.nina.az
Ein Stub von englisch stub Stubben Stummel Stumpf oder Stutzen bezeichnet in der Softwareentwicklung einen ublicherweise relativ einfachen und kurzen Programmcode der anstelle eines anderen meist komplexeren Programmcodes steht Dabei ist der eigentliche Programmcode der durch den Stub ersetzt wird noch nicht entwickelt Top Down Ansatz oder auf einem anderen Rechner oder in einem anderen Speicherbereich Liegt der Code an einem anderen Ort so ist der Stub der lokale Anknupfungspunkt um Softwarekomponenten einfach anzusprechen die ansonsten nur uber komplexe Protokolle erreichbar waren bzw sind und um diese Komplexitat zu verbergen Ein Stub entspricht dann dem Entwurfsmuster eines Stellvertreters Insbesondere kommen Stubs bei der Entwicklung verteilter Systeme zur Anwendung Die Funktionalitat eines entfernten nur uber ein Netzwerk erreichbaren Softwaresystems wird auf dem lokalen System in Form einer Stubkomponente zur Verfugung gestellt Diese Stubkomponente kann von der Software des lokalen Systems so angesprochen werden als ware die Funktionalitat des entfernten Systems lokal vorhanden Zugriffstransparenz Statt aber diese gewunschte Funktion tatsachlich zu implementieren ubersetzt die Stubkomponente die Anfragen in Netzwerkaufrufe Marshalling kommuniziert mit dem fernen System und delegiert die Aktion an dieses Fur das nutzende System bleibt dieser Kommunikationsvorgang verborgen Bei einer Kommunikation nach dem Client Server Modell RPC RMI heisst der lokale Vertreterstub auf dem Client auch proxy Bei verschiedenen Techniken kann aus einer abstrakten Beschreibung ein Grundgerust Skeleton fur das Gegenstuck auf dem Server erstellt werden Mono und polymorphische Stubs BearbeitenEin Programm welches die Methode eines Interfaces aufruft muss beim ersten Zugriff den dahinterliegenden Datentyp ermitteln Steht der Datentyp fest so wird ein monomorphischer Stub 1 erzeugt der eine Funktion fur den Zugriff auf die passende Methode fur den jeweiligen Datentyp implementiert Der Stub kann gespeichert werden um einen erneuten Aufruf der Schnittstelle fur ein weiteres Objekt zu optimieren Ist das weitere Objekt jedoch typverschieden so muss ein neuer monomorphischer Stub erzeugt werden Ein monomorphischer Stub hat somit den Nachteil dass er nur fur einen bestimmten konkreten Datentyp geeignet ist Im Gegensatz dazu besitzt ein polymorphischer Stub 1 eine Hashtabelle welche auf eine Liste von Stubfunktionen zeigt Der polymorphische Stub kann dann vom jeweiligen Datentyp abhangig die passende Funktion aufrufen Beim Aufruf eines neuen Datentyps wird eine fur diesen optimierte Funktion erzeugt und dem polymorphischen Stub hinzugefugt Der polymorphische Stub ist allerdings aufgrund des Lookups langsamer Einige Implementierungen wie die Common Language Runtime unterstutzen sowohl mono als auch polymorphische Stubs 1 Welcher Stubtyp verwendet wird entscheidet dabei eine Heuristik Siehe auch BearbeitenMock Objekt ModultestEinzelnachweise Bearbeiten a b c Ben Watson Writing High Performance NET Code 2014 ISBN 978 0 9905834 3 1 englisch Abgerufen von https de wikipedia org w index php title Stub Programmierung amp oldid 221989942