
A B
C D E
F G H
I J K
L M N
O P Q
R S T
U V W
X Y Z

S
Satellite Assembly: Assemblies, die keinen Programmcode sondern lediglich Ressourcen beinhalten, werden als Satellite Assemblies bezeichnet. Typischer Anwendungsfall für ein Satellite Assembly ist die Bereitstellung von in einer .NET-Applikation genutzten Schriftzügen in unterschiedlichen Sprachen.
Zum Laden von Satellite Assemblies nutzt die CLR die Klasse System.Resources.ResourceManager.
verwandte Glossar-Einträge:Signatur: Als Signatur eines Assemblies bezeichnet man das Ergebnis einer digitalen Markierung eines Assemblies durch ein Schlüsselpaar. Das .NET-Framework nutzt zur Signierung von Assemblies ein Zwei-Schlüssel-Verfahren (Öffentlicher und Privater Schlüssel). Signierte Assemblies können als Shared Assemblies in den Global Assembly Cache installiert werden. Die Signatur dient zur Authentifizierung eines Assemblies. Die Signatur wird zusammen mit dem öffentlichen Schlüssels in das Manifest eines Assemblies eingetragen.
verwandte Glossar-Einträge:relevante ZfS-Dokumente:Silverlight: Seit Mitte 2007 der offizielle Name der WPF/E.
verwandte Glossar-Einträge:Single File Assembly (SFA, Single File Module): Ein Single File Assembly bezeichnet - im Gegensatz zu einem Multi File Assembly - ein Assembly, das aus nur einer Datei (=Modul) besteht (Standard-Assembly). Diese Datei enthält die Metadaten, das Manifest, den CIL-Code sowie ggf. weitere Ressourcen.
Standardmäßig kompilieren die .NET-Sprachcompiler Single File Assemblies.
verwandte Glossar-Einträge:SOA (Service Oriented Architecture): Die serviceorientierte Architektur ist ein Management- und Systemarchitektur-Konzept, das in letzter Zeit stark diskutiert wird. Ein zentraler Aspekt ist die Verknüpfung von lose gekoppelten, flexiblen Diensten zur Unterstützung komplexer Prozesse. Diese Dienste bieten ihre Funktionalitäten über eine standardisierte Software-Schnittstelle an und können wiederum von anderen Diensten konsumiert werden.
Verschiedene dienstorientierte Technologien bieten sich zur Implementierung einer SOA an: CORBA, DCOM, EJB und Webservices. Die derzeit populärste Technologie zur Implementierung sind Webservices.
SOAs bieten eine Reihe von Einsatzpotentialen. Dazu gehören u.a.:
- Prozessorientierte Anwendungsintegration innerhalb eines Unternehmens (EAI)
- Integration von heterogenen und/oder verteilten Systemen
- Integration von weltweit verteilten Diensten in eigenen (auch lokalen) Anwendungen. Zu den populärsten gehören die Webservices von Google, Microsoft, Amazon und eBay.
verwandte Glossar-Einträge:SOAP (Simple Object Access Protocol): SOAP ist ein Protokoll, das vor allem zum Nachrichtenaustausch zwischen Webservices benutzt wird. SOAP wurde von Microsoft entwickelt und war ursprünglich als einfaches XML-basiertes Protokoll für Remote Procedure Calls (RPC) zwischen verteilten Systemen gedacht. Seit Version 1.1 wird der Standard von einer Arbeitsgruppe vom W3C weiterentwickelt.
verwandte Glossar-Einträge:SQL (Structured Query Language): SQL ist die Standard-Sprache für relationale Datenbanksysteme. Neben Anfragen an relationale Datenbanksysteme können damit auch das Schema definiert werden und Daten in die Datenbank eingefügt werden.
Stack:
Der Stack ist ein Speicherbereich, der von der Common Language Runtime (CLR) zur Verwaltung von Wertetypen allokiert und verwaltet wird.
Im Gegensatz zum Heap wird der Stack nach dem LiFo-Prinzip (Last In First Out) verwaltet, d.h. Daten werden in der entgegen gesetzten Reihenfolge abgerufen, wie sie dem
Stack zuvor hinzugefügt worden sind. Das letzte Element wird also als erstes entnommen, während das erste Element als letztes entnommen wird.
Der Stack wird insbesondere für die Speicherung lokaler Variabeln und Methodenparametern von der CLR verwendet.
verwandte Glossar-Einträge:Strong Name (starker Name): Der Strong Name eines Assemblies dient zur eindeutigen Identifikation eines Shared Assemblies. Zum Strong Name gehören die folgenden Informationen und Komponenten: Versionsnummer, optionale Länderkennung, Assembly-Dateiname sowie Signatur und öffentlicher Schlüssel.
verwandte Glossar-Einträge:Strong Name Utility: Ein mit dem SDK ausgeliefertes Kommandozeilen-Werkzeug, um einen öffentlichen und privaten Schlüssel zu erstellen.
verwandte Glossar-Einträge:Struct (Struktur): Structs sind, ähnlich wie Klassen, ein .NET-Programmierkonstrukt zur Implementierung von Typen.
Während Klassen im .NET-Framework allerdings einen Referenztypen darstellen, die im Speicher auf dem Heap verwaltet werden, sind Structs Wertetypen, die auf dem Stack verwaltet werden. In den .NET-Programmiersprachen werden primitive Datentypen wie z.B. Zahlenwerte als Wertetypen auf dem Stack verwaltet. Dies bedeutet, dass diese die Daten direkt enthalten, während Referenztypen lediglich einen Verweis auf die Daten enthalten. Da bei der Speicherung von Wertetypen keine weiteren Speicherreferenzen benötigt werden, können Strukturinstanzen im Allgemeinen ressourcenschonender als Klasseninstanzen eingesetzt werden.
Im operativen Einsatz macht sich die Unterscheidung zwischen Referenz- und Wertetypen u.a. bei einer Zuweisung (etwa beim Kopieren von Objekten) bemerkbar:
weist man einer Stuct-Variable A eine zweite Struct-Variable B zu, werden alle der Variablen B inhärenten Daten dupliziert und als Variable A auf dem Stack abgelegt (diese Daten existieren dann doppelt im Speicher). Weist man hingegen einer Klassen-Variable A eine zweite Klassen-Variable B zu, wird auf dem Stack lediglich eine zweite Referenz angelegt, die auf die gleiche Stelle im Heap zeigt wie die Variable B (in diesem Fall werden die Daten also nicht dupliziert, sondern existieren nur einmal im Speicher!). In diesem Fall würden Änderungen an den Heap-Daten beide Referenzen (A und B) auf dem Stack beeinflussen.
Die Unterscheidung von Referenz- und Wertetypen bedingt den weitereren Unterschied, dass einige der klassischen objektorientierten Konzepte wie z.B. Vererbung von Structs nicht unterstützt werden.
MSDN hat in einem Artikel "Struct Usage Guidelines"
die folgenden Punkte aufgeführt, wann Typen als Strukturen implementiert
werden sollten (sinngemäß übersetzt):
- sie agieren wie primitive Datentypen
- ihre Instanzgröße liegt unter 16 bytes
- sie sind unveränderlich
- eine Wertetypsemantik ist erwünscht
Vor der Entscheidung, einen Typen als Struct zu implementieren,
sollte daneben auch bedacht werden, dass Structs natürlich nur als Werte
einer Methode als Parameter übergeben werden können und nicht als
Referenzen. Insbesondere bei häufigen Parameterübergaben sollte demnach
aus Performance-Gründen eine Klassen-Implementierung favorisiert werden.
verwandte Glossar-Einträge:Eintrag hinzufügen