Appearance
Kapitel 13: Modularisierung und Bibliotheken
13.1 Überblick über Modularisierung
Modularisierung ermöglicht das Aufteilen von Code zur Wiederverwendbarkeit und Vermeidung von Redundanz.
13.2 Import und Verwendung von Bibliotheken
Systembibliotheken importieren
dart
import 'dart:io'; // E/A-Operationen
import 'dart:async'; // Asynchrone Programmierung
import 'dart:convert'; // Datenkonvertierung
import 'dart:math'; // Mathematische FunktionenBenutzerdefinierte Bibliotheken importieren
dart
// utils.dart
String gruß(String name) {
return 'Hallo ' + name;
}
// main.dart
import 'utils.dart';
void main() {
print(gruß('Alice'));
}Drittanbieter-Bibliotheken importieren
Füge Abhängigkeiten in pubspec.yaml hinzu:
yaml
dependencies:
http: ^1.0.0Dann installieren:
bash
dart pub getImportieren:
dart
import 'package:http/http.dart' as http;13.3 Export von Bibliotheken
dart
// math_utils.dart
double add(double a, double b) => a + b;
double sub(double a, double b) => a - b;
// utils.dart
export 'math_utils.dart';
// main.dart
import 'utils.dart';
void main() {
print(add(1, 2));
}13.4 Namensräume
dart
import 'lib1.dart';
import 'lib2.dart' as lib2; // Alias zur Vermeidung von Namenskonflikten
void main() {
// Verwendung von lib1
funktion1();
// Verwendung von lib2
lib2.funktion1();
}13.5 Praxisbeispiel
Dateistruktur:
projekt/
lib/
math_utils.dart
string_utils.dart
main.dart
pubspec.yamlmath_utils.dart:
dart
double add(double a, double b) => a + b;
double sub(double a, double b) => a - b;string_utils.dart:
dart
String umkehren(String s) => s.split('').reversed.join('');utils.dart:
dart
export 'math_utils.dart';
export 'string_utils.dart';main.dart:
dart
import 'lib/utils.dart';
void main() {
print(add(1, 2));
print(umkehren('Dart'));
}