DigitalData.Core/README.md
2024-03-06 16:14:36 +01:00

49 lines
2.9 KiB
Markdown

# DigitalData.Core Bibliothek
Die `DigitalData.Core` Bibliothek bietet eine Reihe von Diensten, Repositories und Hilfsklassen zur Unterstützung der Entwicklung sauberer Architektur in .NET-Anwendungen. Diese Bibliothek umfasst Implementierungen für CRUD-Operationen, Active Directory-Dienste und Ausnahmebehandlung.
## Komponenten
### CRUD-Operationen
- `ICRUDRepository<TEntity, TId>`: Definiert einen Vertrag für CRUD-Operationen auf einer Entität des Typs `TEntity` mit dem Identifikator des Typs `TId`.
- `CRUDRepository<TEntity, TId, TDbContext>`: Bietet eine generische Implementierung für CRUD-Operationen innerhalb eines gegebenen `DbContext`.
- `ICRUDService<TCRUDRepository, TCreateDto, TReadDto, TUpdateDto, TEntity, TId>`: Definiert einen Vertrag für CRUD-Operationen auf der Dienstebene unter Verwendung von Datenübertragungsobjekten (DTOs).
- `CRUDService<TCRUDRepository, TCreateDto, TReadDto, TUpdateDto, TEntity, TId>`: Bietet generische CRUD-Operationen für einen bestimmten Entitätstyp.
### Active Directory-Dienste
- `ADService<T>`: Ermöglicht die Interaktion mit dem Active Directory, um Suchvorgänge durchzuführen und Daten in Objekte des Typs `T` zu lesen.
- `ADFilterAttribute`: Spezifiziert die Filterabfrage für Active Directory (AD)-Operationen. Dieses Attribut kann auf Klassen angewendet werden, um benutzerdefinierte Filterabfragen während AD-Operationen zu definieren.
### Ausnahmebehandlung
- `MappingResultNullException`: Repräsentiert Fehler, die während der Zuordnung auftreten, wenn das Ergebnis unerwartet `null` ist. Diese Ausnahme wird speziell verwendet, um anzugeben, dass eine AutoMapper-Zuordnungsoperation ein `null`-Objekt ergab.
### Hilfsklassen
- `AttrHelper`: Bietet Hilfsmethoden zum Arbeiten mit Attributen.
### API-Controller
- `CRUDControllerBase`: Eine Basiskontrollerklasse, die generische CRUD-Operationen für einen bestimmten Entitätstyp bereitstellt.
- `ADControllerBase`: Ein Basiskontroller für die Interaktion mit dem Active Directory-Dienst.
## Anwendung
Diese Bibliothek ist für Entwickler konzipiert, die saubere Architekturprinzipien in ihren .NET-Anwendungen implementieren möchten. Sie bietet eine robuste Grundlage für die Entwicklung von Repositories, Diensten und API-Controllern mit Fokus auf Wartbarkeit, Testbarkeit und Erweiterbarkeit.
## Hinweise
- Die Verwendung von `IMapper` und `IServiceResult` ermöglicht eine flexible Datenübertragung und Fehlerbehandlung.
- Die Implementierung der Active Directory-Dienste setzt voraus, dass die Anwendung auf der Windows-Plattform ausgeführt wird, aufgrund der Verwendung von `DirectorySearcher`.
- Die Ausnahmebehandlungsklassen helfen bei der Identifizierung von Konfigurations- oder Datenquelleproblemen, die während der Automapper-Zuordnung auftreten können.
Für weitere Details zur Implementierung und Nutzung dieser Bibliothek, prüfen Sie die Dokumentation und Beispiele im Code.