|
3 | 3 | <terms> |
4 | 4 | <term name="API">Eine API (Application Programming Interface) ist eine Schnittstelle, die es Softwareanwendungen |
5 | 5 | ermöglicht, miteinander zu kommunizieren. APIs legen fest, wie verschiedene Softwarekomponenten miteinander |
6 | | - interagieren sollen, indem sie eine Reihe von Funktionen, Methoden oder Endpunkten bereitstellen, die von einer |
7 | | - Anwendung genutzt werden können, um auf bestimmte Funktionen einer anderen Anwendung zuzugreifen.</term> |
| 6 | + interagieren sollen, indem sie eine Reihe von Funktionen, Methoden oder Endpunkten bereitstellen. Diese können |
| 7 | + von einer Anwendung genutzt werden, um auf bestimmte Funktionen einer anderen Anwendung zuzugreifen.</term> |
8 | 8 | <term name="Bit">Ein Bit (eng. Abkürzung für binary digit) ist die Bezeichnung für eine Binärziffer, welche als |
9 | 9 | Maßeinheit für eine Datenmenge dient. Dabei ist ein Bit die kleinste darstellbare Datenmenge. Ein Bit kann nur |
10 | 10 | den Zuständen 0 oder 1 entsprechen.</term> |
|
26 | 26 | <term name="Constants-Notation">Die Konstanten-Notation oder auch SCREAMING_SNAKE_CASE-Notation bezeichnet eine |
27 | 27 | Schreibweise, wobei nur Großbuchstaben und Unterstriche verwendet werden, um die Bedeutung als "unveränderlichen |
28 | 28 | Wert" hervorzuheben.</term> |
| 29 | + <term name="DTO">DTOs sind einfache Objekte, die dazu dienen, Daten zwischen verschiedenen Schichten oder Systemen |
| 30 | + zu transportieren. Sie enthalten meist nur Felder mit Getter- und Setter-Methoden, aber keine Geschäftslogik. |
| 31 | + </term> |
| 32 | + <term name="DIP">Dependency Inversion Principle (DIP): High-Level-Module sollten nicht von Low-Level-Modulen |
| 33 | + abhängig sein. Beide sollten auf Abstraktionen basieren. Dies fördert die Entkopplung von Komponenten durch |
| 34 | + Abstraktionen und Schnittstellen.</term> |
| 35 | + <term name="Entity">Entities sind Klassen, die direkt eine Datenbanktabelle abbilden. Jede Instanz einer |
| 36 | + Entity-Klasse entspricht einem Datensatz (Row) in der Tabelle. Sie enthalten typischerweise Felder für Spalten |
| 37 | + und sind oft mit JPA- oder Hibernate-Annotationen versehen, um die Zuordnung zu steuern.</term> |
29 | 38 | <term name="GC">Ein Garbage Collector (GC) ist eine automatische Speicherverwaltung, die in vielen |
30 | 39 | Programmiersprachen und Laufzeitumgebungen implementiert ist. Der Hauptzweck eines Garbage Collectors besteht |
31 | 40 | darin, nicht mehr benötigte Objekte oder Datenstrukturen, die von einem Programm erstellt wurden, aus dem |
32 | 41 | Speicher zu entfernen, um Speicherplatz freizugeben und Speicherlecks zu vermeiden.</term> |
33 | 42 | <term name="IDE">Eine Integrated Development Environment (IDE) stellt eine Reihe von Programmierwerkzeugen wie einen |
34 | | - Compiler oder Debugger zur Verfügung. Diese erleichtern deutlich das Schreiben und Entwickeln von Software.</term> |
| 43 | + Compiler oder Debugger zur Verfügung. Diese erleichtern deutlich das Schreiben und Entwickeln von Software. |
| 44 | + </term> |
35 | 45 | <term name="IEEE-754">Die Norm IEEE 754 definiert Standarddarstellungen für binäre und dezimale Fließkommazahlen in |
36 | 46 | Computern und legt genaue Verfahren für die Durchführung mathematischer Operationen, insbesondere für Rundungen, |
37 | 47 | fest.</term> |
| 48 | + <term name="ISP">Interface Segregation Principle (ISP): Clients sollten nicht gezwungen sein, sich auf |
| 49 | + Schnittstellen zu verlassen, die sie nicht verwenden. Dieses Prinzip fördert die Erstellung kleinerer, |
| 50 | + fokussierter Schnittstellen.</term> |
| 51 | + <term name="Java-Bean">Java Beans sind wiederverwendbare Java-Klassen, die bestimmte Konventionen befolgen. Sie |
| 52 | + besitzen einen öffentlichen, parameterlosen Konstruktor, private Felder sowie öffentliche Getter- und |
| 53 | + Setter-Methoden.</term> |
38 | 54 | <term name="Java-Heap">Der Java-Heap ist ein Speicherbereich, der für die dynamische Allokation von Speicherplatz |
39 | 55 | während der Laufzeit reserviert ist. Der Heap wird verwendet, um Daten zuzuweisen, die während der |
40 | 56 | Programmausführung dynamisch erstellt werden.</term> |
|
51 | 67 | <term name="JNI">Das Java Native Interface (JNI) ist eine Schnittstelle, die es dem Java-Code ermöglicht, nativen |
52 | 68 | Code zu verwenden und mit ihm zu interagieren. Es fungiert als Bindeglied zwischen dem Java-Code, der in der JVM |
53 | 69 | läuft und nativem Code, der in Sprachen wie C oder C++ geschrieben wurde.</term> |
| 70 | + <term name="JPA">JPA ist eine standardisierte Java-Schnittstelle zur objektrelationalen Abbildung (ORM). Sie erlaubt |
| 71 | + es, Java-Objekte (Entities) auf Datenbanktabellen zu mappen, Abfragen durchzuführen und Daten zu speichern oder |
| 72 | + zu aktualisieren, ohne direkt SQL schreiben zu müssen. JPA definiert die Regeln und Annotations für Entities, |
| 73 | + Beziehungen und Transaktionen, während Frameworks wie Hibernate die eigentliche Umsetzung übernehmen.</term> |
54 | 74 | <term name="JRE">Die Java Runtime Environment (JRE) ist eine Softwareschicht, die auf der Betriebssystemsoftware |
55 | 75 | eines Computers ausgeführt wird und die Klassenbibliotheken, sowieso andere Ressourcen bereitstellt, die ein |
56 | 76 | Java-Programm zur Ausführung benötigt. Die JVM ist Bestandteil der JRE.</term> |
57 | 77 | <term name="JVM">Die Java Virtual Machine (JVM) ist eine virtuelle Maschine, die verwendet wird, um Java-Bytecode |
58 | 78 | auszuführen. Sie interpretiert oder kompiliert den Java-Bytecode in Maschinenbefehle, die von der zugrunde |
59 | 79 | liegenden Hardware ausgeführt werden können.</term> |
| 80 | + <term name="LSP">Liskov Substitution Principle (LSP): Untertypen (abgeleitete Klassen) müssen durch ihre Basistypen |
| 81 | + (übergeordnete Klassen) ersetzt werden können, ohne die Korrektheit des Programms zu verändern.</term> |
60 | 82 | <term name="Memoization">Memoization bezeichnet eine Technik zur Optimierung, bei der Ergebnisse von teuren |
61 | 83 | Funktionsaufrufen (meist rekursive oder häufig aufgerufene Funktionen) gespeichert werden, um wiederholte |
62 | 84 | Berechnungen zu vermeiden. Die gespeicherten Ergebnisse werden in einer Datenstruktur abgelegt, sodass bei |
63 | | - erneutem Auftreten derselben Eingabewerte bereits berechnete Ergebnisse direkt zurückgegeben werden können.</term> |
| 85 | + erneutem Auftreten derselben Eingabewerte bereits berechnete Ergebnisse direkt zurückgegeben werden können. |
| 86 | + </term> |
| 87 | + <term name="OOP">OOP ist ein Programmierparadigma, das Software in Form von Objekten organisiert, welche Daten |
| 88 | + (Attribute) und Verhalten (Methoden / Funktionen) kombinieren.</term> |
| 89 | + <term name="OCP">Open/Closed Principle (OCP): Software-Entitäten (z. B. Klassen, Module etc.) sollten für |
| 90 | + Erweiterungen offen, aber für Änderungen geschlossen sein. Dies fördert die Idee, die Funktionalität zu |
| 91 | + erweitern, ohne den vorhandenen Code zu ändern.</term> |
64 | 92 | <term name="Orthogonality">Orthogonalität ist ein Begriff, der ursprünglich aus der Geometrie stammt und |
65 | 93 | „Rechtwinkligkeit“ bedeutet. Zwei Vektoren sind orthogonal zueinander, wenn sie einen Winkel von 90° bilden. |
66 | | - Orthogonalität wird aber auch in anderen Bereichen verwendet, wie z. B. in der Statistik, Informatik und |
| 94 | + Orthogonalität wird aber auch in anderen Bereichen verwendet, wie z. B. der Statistik, Informatik und |
67 | 95 | Signalverarbeitung. Hier beschreibt Orthogonalität im Allgemeinen Unabhängigkeit oder Nicht-Korrelation.</term> |
| 96 | + <term name="ORM">ORM bezeichnet ein Programmierkonzept, bei dem Objekte einer Programmiersprache auf |
| 97 | + Datenbanktabellen abgebildet werden. Es ermöglicht Entwicklern, mit Objekten zu arbeiten, statt direkt |
| 98 | + SQL-Abfragen zu schreiben. Dadurch wird die Arbeit mit Datenbanken in objektorientierten Sprachen wie Java |
| 99 | + einfacher, konsistenter und weniger fehleranfällig. Beispiele für ORM-Frameworks in Java sind Hibernate oder |
| 100 | + EclipseLink.</term> |
| 101 | + <term name="Overhead">Overhead bezeichnet den zusätzlichen Aufwand oder die zusätzlichen Ressourcen, die für die |
| 102 | + Ausführung eines Programms, einer Methode oder eines Systems benötigt werden, ohne dass direkt produktive Arbeit |
| 103 | + geleistet wird. Darunter können Speicherverbrauch, zusätzliche Berechnungen, Verwaltungslogik oder |
| 104 | + Kommunikationsaufwand fallen.</term> |
68 | 105 | <term name="PascalCase-Notation">Die PascalCase-Notation bezeichnet eine Schreibweise, wobei der Anfangsbuchstabe |
69 | 106 | mit einem Großbuchstaben und jedes weitere Wort ebenfalls mit einem Großbuchstaben geschrieben wird.</term> |
| 107 | + <term name="POJO">POJOs sind einfache Java-Klassen ohne spezielle Vorgaben oder Abhängigkeiten von Frameworks. Sie |
| 108 | + dienen als „reine“ Daten- oder Logikträger und stellen das Grundkonzept dar, auf dem DTOs oder Java Beans |
| 109 | + aufbauen können.</term> |
70 | 110 | <term name="Serialization">Unter Serialisierung wird das Konvertieren des Zustands eines Objekts in eine Form |
71 | 111 | verstanden, die erhalten oder transportiert werden kann. Das Gegenstück zur Serialisierung ist die |
72 | 112 | Deserialisierung, die einen Stream in ein Objekt konvertiert.</term> |
| 113 | + <term name="SRP">Single Responsibility Principle (SRP): Eine Klasse sollte nur einen Grund haben, sich zu ändern. |
| 114 | + D. h. sie sollte eine einzige, klar definierte Verantwortung haben.</term> |
73 | 115 | <term name="SOLID">Das SOLID-Prinzip bezieht sich auf eine Reihe von (5) Designprinzipien, bestehend aus dem Single |
74 | 116 | Responsibility Principle (SRP), Open/Closed Principle (OCP), Liskov Substitution Principle (LSP), Interface |
75 | 117 | Segregation Principle (ISP) und dem Dependency Inversion Principle (DIP). Sie werden in der objektorientierten |
76 | | - Programmierung angewendet.</term> |
| 118 | + Programmierung (OOP) angewendet.</term> |
77 | 119 | <term name="String-Pool">Der String-Pool stellt sicher, dass identische Zeichenketten im Speicher nur einmal |
78 | 120 | existieren.</term> |
79 | 121 | <term name="Top-Level-Class">Top-Level-Klassen sind Klassen, die direkt innerhalb einer Datei definiert werden und |
|
0 commit comments