mirror of
https://github.com/s-frick/effigenix.git
synced 2026-03-28 23:03:40 +01:00
- Production BC: Aggregates (Recipe, Batch, ProductionOrder) mit Invarianten, Drafts, Status-Maschinen, Domain Events und Chargen-Genealogie - Quality BC: 9 Aggregates (TemperatureLog, CleaningPlan/Record, GoodsReceiptInspection, SampleRecord, TrainingRecord, MaintenanceRecord, QualityHold, ProcessParameter) mit HACCP-Compliance - Inventory BC: 4 Aggregates (Stock, StockMovement, InventoryCount, StorageLocation) mit FEFO, Reservierungen mit Priorität, Vier-Augen-Prinzip bei Inventur - Ubiquitous Language: Inventory-Sektion von 11 auf 27 Begriffe erweitert - Alte deutsche Datei 05-qualitaets-kontext.md entfernt (ersetzt durch 05-quality-bc.md)
280 lines
18 KiB
Markdown
280 lines
18 KiB
Markdown
# Ubiquitous Language - Glossar
|
||
|
||
**Datum:** 2026-02-17
|
||
|
||
Diese Datei definiert die **Ubiquitous Language** für jeden Bounded Context. Diese Begriffe müssen im Code (Klassennamen, Methoden, Variablen) exakt so verwendet werden.
|
||
|
||
---
|
||
|
||
## Production BC
|
||
|
||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||
|--------------|--------------|-----|------------|
|
||
| Rezept | Recipe | Aggregate | Mehrstufige Anleitung zur Herstellung eines Produkts aus Rohstoffen und Zwischenprodukten |
|
||
| Zutat | Ingredient | Entity | Rohstoff oder Zwischenprodukt, das in einem Rezept verwendet wird. Position bestimmt die Reihenfolge |
|
||
| Produktionsschritt | ProductionStep | Entity | Einzelner Arbeitsschritt in einer Rezeptur mit optionaler Dauer und Temperaturangabe |
|
||
| Rezepttyp | RecipeType | Value Object | Klassifizierung: RAW_MATERIAL, INTERMEDIATE (Zwischenprodukt) oder FINISHED_PRODUCT (Endprodukt) |
|
||
| Ausbeute | YieldPercentage | Value Object | Verhältnis Input→Output in % (1-200%). >100% bei Pökel-/Spritzprozessen. Bei 80% Ausbeute braucht man 125kg Input für 100kg Output |
|
||
| Haltbarkeitsdauer | ShelfLifeDays | Value Object | Anzahl Tage ab Produktionsdatum bis MHD. Definiert im Rezept, angewandt bei Chargen-Erzeugung |
|
||
| Unter-Rezept | SubRecipe | Concept | Verweis auf ein anderes Rezept (INTERMEDIATE), das als Zutat verwendet wird. Ermöglicht verschachtelte Rezepturen |
|
||
| Rezeptur-Version | Recipe Version | Value Object | Versionsnummer eines Rezepts. Neue Version = neues Recipe-Objekt, altes wird archiviert |
|
||
| Charge | Batch | Aggregate | Eindeutig identifizierte Produktionseinheit mit Chargennummer, Datum, Rezept, Mengen und Genealogie |
|
||
| Chargennummer | BatchNumber | Value Object | Formatierte eindeutige Kennung einer Charge (Format: "P-YYYY-MM-DD-XXX"). Generiert über BatchNumberGenerator |
|
||
| Verbrauch | Consumption | Entity | Dokumentation, dass eine Input-Charge (Rohstoff/Zwischenprodukt) in einer Produktions-Charge verwendet wurde. Bildet die Chargen-Genealogie |
|
||
| Chargen-Genealogie | Batch Genealogy | Concept | Gesamtheit aller Consumption-Beziehungen einer Charge. Ermöglicht Vorwärts- und Rückwärts-Tracing |
|
||
| Vorwärts-Tracing | Forward Tracing | Concept | Ausgehend von einer Rohstoff-Charge: Welche Endprodukt-Chargen sind betroffen? Kritisch für Rückruf-Szenarien |
|
||
| Rückwärts-Tracing | Backward Tracing | Concept | Ausgehend von einer Endprodukt-Charge: Welche Rohstoff-Chargen wurden verwendet? |
|
||
| Rückverfolgbarkeit | Traceability | Concept | Lückenlose Dokumentation der Kette: Rohstoff-Charge → Produktions-Charge → Verkauf. HACCP-Pflicht |
|
||
| Zwischenprodukt | Intermediate Product | Concept | Produkt, das in Rezept A hergestellt wird und als Zutat in Rezept B verwendet wird (z.B. Brät, Gewürzmischung) |
|
||
| Ausschuss | Waste | Value Object | Menge an Material, die während Produktion verloren geht (Schwund, Knochen, Fett-Trimmen) |
|
||
| Produktionsauftrag | ProductionOrder | Aggregate | Geplante zukünftige Produktion mit Rezept, Menge, Termin und Priorität. Erzeugt bei Start eine Charge |
|
||
| Priorität | Priority | Value Object | Dringlichkeit eines Produktionsauftrags: LOW, NORMAL, HIGH, URGENT |
|
||
| Freigabe | Release | Concept | Übergang eines Produktionsauftrags von PLANNED zu RELEASED. Signalisiert, dass Material verfügbar ist |
|
||
| Catch-Weight | Dual Quantity | Concept | Doppelte Mengenführung für Artikel, die stückweise UND gewichtsweise erfasst werden (z.B. "10 Stück à 2,3 kg") |
|
||
| MHD | BestBeforeDate | Value Object | Mindesthaltbarkeitsdatum einer Charge. Berechnet: ProductionDate + Recipe.ShelfLifeDays |
|
||
| Materialbedarf | Material Requirement | Concept | Aus Rezeptur berechnete Rohstoffmenge unter Berücksichtigung der Ausbeute. Ausgelöst durch ProductionOrderReleased |
|
||
|
||
---
|
||
|
||
## Quality BC (HACCP/QM)
|
||
|
||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||
|--------------|--------------|-----|------------|
|
||
| HACCP | HACCP | Concept | Hazard Analysis Critical Control Points - systematische Präventivmaßnahmen für Lebensmittelsicherheit |
|
||
| Kritischer Kontrollpunkt | Critical Control Point (CCP) | Concept | Stelle im Prozess, an der Kontrolle notwendig ist, um Gefahren zu vermeiden |
|
||
| Temperaturprotokoll | TemperatureLog | Aggregate | Standortbezogene Temperaturmessung an kritischem Punkt (Kühlraum, Theke) mit Grenzwertüberwachung |
|
||
| Messpunkt | MeasurementPoint | VO (Enum) | Physischer Ort der Messung: COLD_ROOM, FREEZER, DISPLAY_COUNTER, PRODUCTION_ROOM |
|
||
| Temperatur | Temperature | Value Object | Temperaturwert in °C mit physikalisch plausiblem Bereich (-50 bis +50) |
|
||
| Kritischer Grenzwert | CriticalLimit | Value Object | Min-/Max-Paar für einen CCP (z.B. Kühlraum 2-7°C). Mindestens ein Limit muss gesetzt sein |
|
||
| Reinigungsplan | CleaningPlan | Aggregate | Vorlage für Reinigungsaufgaben mit Bereich, Intervall und Checklisten-Template |
|
||
| Reinigungsintervall | CleaningInterval | VO (Enum) | Turnus einer Reinigung: DAILY, WEEKLY, MONTHLY |
|
||
| Reinigungsnachweis | CleaningRecord | Aggregate | Durchgeführte Reinigung gegen einen CleaningPlan mit abgehakter Checkliste |
|
||
| Checklisten-Eintrag | ChecklistItem | Entity | Einzelner Prüfpunkt in einer Reinigung oder Inspektion |
|
||
| Wareneingangskontrolle | GoodsReceiptInspection | Aggregate | Mehrteilige Prüfung bei Warenanlieferung (Temperatur, Sicht, MHD, Dokumente) |
|
||
| Temperaturprüfung | TemperatureCheck | Value Object | Temperaturmessung bei Wareneingang mit Soll-/Ist-Vergleich |
|
||
| Sichtkontrolle | VisualCheck | Value Object | Prüfung von Verpackung, Farbe, Geruch bei Wareneingang |
|
||
| MHD-Prüfung | ShelfLifeCheck | Value Object | Prüfung des Mindesthaltbarkeitsdatums gegen Mindest-Restlaufzeit |
|
||
| Dokumentenprüfung | DocumentCheck | Value Object | Prüfung von Lieferschein, Veterinärbescheinigung, Zertifikaten |
|
||
| Probenentnahme | SampleRecord | Aggregate | Probenentnahme mit Analyseergebnis, Charge und Prüfmethode |
|
||
| Probenart | SampleType | VO (Enum) | Klassifizierung: MICROBIOLOGICAL, CHEMICAL, PHYSICAL, SENSORY |
|
||
| Analyseergebnis | AnalysisResult | Value Object | Messergebnis einer Probe mit Wert, Einheit und Interpretation |
|
||
| Schulungsnachweis | TrainingRecord | Aggregate | Nachweis einer absolvierten Schulung mit Gültigkeitsdatum und Trainer |
|
||
| Schulungsart | TrainingType | VO (Enum) | Klassifizierung: HACCP, HYGIENE, FOOD_SAFETY, EQUIPMENT_OPERATION, FIRST_AID |
|
||
| Wartungsprotokoll | MaintenanceRecord | Aggregate | Dokumentation von Gerätewartungen (planmäßig, Reparatur, Kalibrierung, Inspektion) |
|
||
| Wartungsart | MaintenanceType | VO (Enum) | SCHEDULED, REPAIR, CALIBRATION, INSPECTION |
|
||
| Qualitätssperre | QualityHold | Aggregate | Sperre einer Charge bei Qualitätsproblemen. Block/Release-Pattern mit Vier-Augen-Prinzip |
|
||
| Sperrgrund | HoldReason | VO (Enum) | TEMPERATURE_DEVIATION, SAMPLE_FAILED, CONTAMINATION_SUSPECTED, PROCESS_DEVIATION, CUSTOMER_COMPLAINT, REGULATORY |
|
||
| Korrekturmaßnahme | CorrectiveAction | Entity | Maßnahme zur Behebung einer Abweichung im Rahmen eines QualityHold |
|
||
| Prozessparameter | ProcessParameter | Aggregate | Batch-bezogene CCP-Messwerte (Kerntemperatur, pH, aw-Wert, Metalldetektion) |
|
||
| CCP-Typ | CcpType | VO (Enum) | CORE_TEMPERATURE, PH_VALUE, WATER_ACTIVITY, METAL_DETECTION |
|
||
| Abweichung | Deviation | Concept | Überschreitung eines Grenzwerts oder Nichteinhaltung eines Verfahrens |
|
||
| HACCP-Report | HaccpReport | Concept | Audit-Report aggregiert aus allen Quality-Aggregates für einen Zeitraum |
|
||
|
||
---
|
||
|
||
## Labeling BC
|
||
|
||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||
|--------------|--------------|-----|------------|
|
||
| Allergen | Allergen | Value Object | Einer der 14 EU-Hauptallergene, die kennzeichnungspflichtig sind |
|
||
| Spurenkennzeichnung | Trace Declaration | Value Object | "Kann Spuren von X enthalten" bei gemeinsamer Verarbeitung |
|
||
| Nährwerttabelle | Nutrition Facts Table | Entity | Rechtlich vorgeschriebene Angabe von Kalorien, Fett, Eiweiß, etc. pro 100g |
|
||
| Qualitätssiegel | Quality Label | Value Object | Bio, Regional, Tierwohl-Zertifizierung |
|
||
| Herkunftskennzeichnung | Origin Labeling | Value Object | Angabe des Herkunftslandes/-region für Rohstoffe |
|
||
| Etikett | Label | Aggregate | Gedrucktes Etikett mit allen Pflichtangaben |
|
||
| Pflichtangabe | Mandatory Declaration | Concept | Rechtlich vorgeschriebene Information auf Etikett (Name, Zutaten, Allergene, MHD, Hersteller) |
|
||
| Allergenkennzeichnung | Allergen Declaration | Concept | Hervorhebung von Allergenen in Zutatenliste (z.B. **Milch**, **Gluten**) |
|
||
| Allergene Matrix | Allergen Matrix | Aggregate | Übersichtstabelle: welches Produkt enthält welche Allergene (für Aushang) |
|
||
| Zertifizierungsnummer | Certification Number | Value Object | Nummer des Bio-/Regional-/Tierwohl-Zertifikats |
|
||
|
||
---
|
||
|
||
## Inventory BC
|
||
|
||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||
|--------------|--------------|-----|------------|
|
||
| Bestand | Stock | Aggregate | Aktueller Bestand eines Artikels an einem Lagerort, chargengenau mit FEFO und Reservierungen |
|
||
| Bestandscharge | StockBatch | Entity | Einzelne Charge im Bestand mit Menge, MHD und Status (AVAILABLE, EXPIRING_SOON, BLOCKED, EXPIRED) |
|
||
| Chargenreferenz | BatchReference | Value Object | Verweis auf Produktions- oder Lieferantencharge mit BatchType (PRODUCED oder PURCHASED) |
|
||
| Chargentyp | BatchType | VO (Enum) | PRODUCED (Eigenproduktion via Production BC) oder PURCHASED (Zukauf via Procurement BC) |
|
||
| Chargen-Status | StockBatchStatus | VO (Enum) | AVAILABLE, EXPIRING_SOON, BLOCKED, EXPIRED – steuert Verfügbarkeit |
|
||
| Mindestbestand | MinimumLevel | Value Object | Mindestmenge, bei Unterschreitung wird StockLevelBelowMinimum Event ausgelöst |
|
||
| Mindest-Resthaltbarkeit | MinimumShelfLife | Value Object | Konfigurierbare Tage bis MHD, ab der eine Charge als EXPIRING_SOON markiert wird |
|
||
| FEFO | First-Expired-First-Out | Concept | Entnahme/Reservierung priorisiert nach nächstem MHD (ältestes zuerst) |
|
||
| Verfügbarer Bestand | AvailableStock | Concept | SUM(AVAILABLE Chargen) minus SUM(Reservierungen). Darf nicht negativ werden |
|
||
| Reservierung | Reservation | Entity | Reservierte Menge für einen Produktionsauftrag oder Kundenauftrag mit Priorität |
|
||
| Reservierungspriorität | ReservationPriority | VO (Enum) | URGENT, NORMAL, LOW – bestimmt Zuteilungsreihenfolge bei Knappheit |
|
||
| Referenztyp | ReferenceType | VO (Enum) | PRODUCTION_ORDER oder SALE_ORDER – wofür reserviert wurde |
|
||
| Chargen-Zuteilung | StockBatchAllocation | Entity | Zuordnung einer reservierten Menge zu einer konkreten StockBatch (per FEFO ausgewählt) |
|
||
| Bestandsbewegung | StockMovement | Aggregate | Immutabler Audit-Trail einer Bestandsveränderung mit Chargen-Rückverfolgbarkeit |
|
||
| Bewegungstyp | MovementType | VO (Enum) | GOODS_RECEIPT, PRODUCTION_OUTPUT, PRODUCTION_CONSUMPTION, SALE, INTER_BRANCH_TRANSFER, WASTE, ADJUSTMENT, RETURN |
|
||
| Bewegungsrichtung | MovementDirection | VO (Enum) | IN (Zugang) oder OUT (Abgang) – abgeleitet aus MovementType |
|
||
| Inventur | InventoryCount | Aggregate | Physische Bestandsaufnahme pro Lagerort mit Soll/Ist-Abgleich und automatischer Differenzbuchung |
|
||
| Zählposition | CountItem | Entity | Einzelne Position in einer Inventur: Artikel, Soll-Menge, Ist-Menge, berechnete Abweichung |
|
||
| Lagerort | StorageLocation | Aggregate | Konfigurierbarer physischer Lagerort mit Typ und optionalem Temperaturbereich |
|
||
| Lagertyp | StorageType | VO (Enum) | COLD_ROOM, FREEZER, DRY_STORAGE, DISPLAY_COUNTER, PRODUCTION_AREA |
|
||
| Temperaturbereich | TemperatureRange | Value Object | Min-/Max-Temperatur eines Lagerorts in °C (-50 bis +80) |
|
||
| Schwund | Shrinkage | Concept | Bestandsverlust durch Verderb, Bruch, Diebstahl – erfasst als WASTE-StockMovement |
|
||
| Vier-Augen-Prinzip | Four-Eyes Principle | Concept | Inventur: CompletedBy muss sich von InitiatedBy unterscheiden |
|
||
|
||
---
|
||
|
||
## Procurement BC
|
||
|
||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||
|--------------|--------------|-----|------------|
|
||
| Bestellung | Purchase Order | Aggregate | Bestellung an Lieferant mit Artikeln, Mengen, Liefertermin |
|
||
| Wareneingang | Goods Receipt | Aggregate | Annahme und Erfassung gelieferter Ware mit Qualitätsprüfung |
|
||
| Lieferanten-Chargennummer | Supplier Batch Number | Value Object | Chargen-Nummer des Lieferanten für Rückverfolgbarkeit |
|
||
| Bedarfsplanung | Demand Planning | Aggregate | Berechnung des Einkaufsbedarfs aus Produktionsplan und Lagerbestand |
|
||
| Lieferschein | Delivery Note | Value Object | Vom Lieferanten mitgeliefertes Dokument |
|
||
| Veterinärbescheinigung | Veterinary Certificate | Value Object | Gesetzlich vorgeschriebenes Dokument für Fleischwaren |
|
||
| Qualitätszertifikat | Quality Certificate | Value Object | Bio-, Regional-, Tierwohl-Zertifikat des Lieferanten |
|
||
| Bestellmenge | Order Quantity | Value Object | Bestellte Menge (kann von empfangener Menge abweichen) |
|
||
| Mindestbestellmenge | Minimum Order Quantity | Value Object | Vom Lieferanten vorgegebene Mindestmenge |
|
||
| Zahlungsziel | Payment Terms | Value Object | Vereinbarte Zahlungsfrist (z.B. "Netto 30 Tage") |
|
||
| Lieferantenbewertung | Supplier Rating | Entity | Bewertung nach Qualität, Pünktlichkeit, Preis-Leistung |
|
||
|
||
---
|
||
|
||
## Filiales BC
|
||
|
||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||
|--------------|--------------|-----|------------|
|
||
| Filiale | Branch | Aggregate | Standort mit eigenem Bestand, ggf. eigener Produktion/Verkauf |
|
||
| Filialtyp | Branch Type | Value Object | PRODUCTION_AND_SALES, SALES_ONLY, PRODUCTION_ONLY |
|
||
| Interfilial-Transfer | Inter-Branch Transfer | Aggregate | Warenversand von Filiale A nach Filiale B mit Chargen-Tracking |
|
||
| Zentrale Produktion | Central Production | Concept | Produktion an einem Standort für Belieferung mehrerer Filialen |
|
||
| Verteilungsplan | Distribution Plan | Aggregate | Plan zur Verteilung eines Produktionsbatches an mehrere Filialen |
|
||
| Liefertermin | Delivery Date | Value Object | Geplanter oder tatsächlicher Liefertermin für Interfilial-Transfer |
|
||
| Transportdokument | Transport Document | Value Object | Lieferschein für interne Lieferung zwischen Filialen |
|
||
| Filiallager | Branch Warehouse | Concept | Lagerbestand einer spezifischen Filiale |
|
||
|
||
---
|
||
|
||
## Master Data BC
|
||
|
||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||
|--------------|--------------|-----|------------|
|
||
| Artikel | Article | Aggregate | Produkt oder Rohstoff mit Stammdaten |
|
||
| Verkaufseinheit | Sales Unit | Entity | Einheit, in der Artikel verkauft wird (Stück, kg, 100g) |
|
||
| Preismodell | Price Model | Value Object | FIXED (fester Preis) oder WEIGHT_BASED (Preis × Gewicht) |
|
||
| Lieferant | Supplier | Aggregate | Geschäftspartner, von dem Waren bezogen werden |
|
||
| Kunde | Customer | Aggregate | Geschäftspartner, an den Waren verkauft werden |
|
||
| Rahmenvertrag | Frame Contract | Entity | Langfristige Vereinbarung mit Kunde über Preise/Mengen |
|
||
| Artikelnummer | Article Number (SKU) | Value Object | Eindeutige Identifikation eines Artikels |
|
||
| Produktgruppe | Product Category | Value Object | Kategorisierung von Artikeln (z.B. "Wurst", "Aufschnitt", "Frischfleisch") |
|
||
| Kundenpräferenz | Customer Preference | Value Object | Präferenz für Bio, Regional, Tierwohl, etc. |
|
||
|
||
---
|
||
|
||
## Sales BC
|
||
|
||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||
|--------------|--------------|-----|------------|
|
||
| Auftrag | Order | Aggregate | Kundenauftrag (Vorbestellung oder B2B-Auftrag) |
|
||
| Auftragsart | Order Type | Value Object | PRE_ORDER (Vorbestellung), B2B_ORDER, WALK_IN (Ladenverkauf) |
|
||
| Rechnung | Invoice | Aggregate | Rechnungsdokument mit Positionen und Betrag |
|
||
| Lieferschein | Delivery Note | Aggregate | Dokument für Warenauslieferung (mit oder ohne Rechnungsfunktion) |
|
||
| Gutschrift | Credit Note | Aggregate | Stornierung oder Teilstornierung einer Rechnung |
|
||
| Zahlungsstatus | Payment Status | Value Object | OPEN, PAID, OVERDUE, CANCELLED |
|
||
| Sammelrechnung | Collective Invoice | Concept | Monatliche Zusammenfassung mehrerer Lieferungen (B2B) |
|
||
|
||
---
|
||
|
||
## Scale Integration BC
|
||
|
||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||
|--------------|--------------|-----|------------|
|
||
| Waagensynchronisation | Scale Sync | Aggregate | Übertragung von Artikelstammdaten an Waage |
|
||
| Bondaten | Bond Data | Aggregate | Verkaufsdaten aus Kassensystem |
|
||
| Etikettendruck | Label Print | Concept | Druck von Etiketten an Waage mit aktuellem Gewicht |
|
||
| TSE | Technical Security Equipment | Concept | Technische Sicherheitseinrichtung für Kassensysteme (Deutschland) |
|
||
|
||
---
|
||
|
||
## Shared Concepts (BC-übergreifend)
|
||
|
||
| Begriff (DE) | Begriff (EN) | Typ | Definition |
|
||
|--------------|--------------|-----|------------|
|
||
| Menge | Quantity | Value Object | Numerischer Wert mit Einheit (kg, g, Stück, Liter) |
|
||
| Geld | Money | Value Object | Betrag mit Währung (z.B. 100 EUR) |
|
||
| Zeitstempel | Timestamp | Value Object | Datum + Uhrzeit |
|
||
| Benutzer-ID | User ID | Value Object | Eindeutige Identifikation eines Benutzers |
|
||
| Status | Status | Value Object (Enum) | Zustand eines Objekts (z.B. ACTIVE, INACTIVE, PENDING) |
|
||
|
||
---
|
||
|
||
## Naming Conventions (Java)
|
||
|
||
### Packages
|
||
```java
|
||
com.effigenix.domain.production // Production BC
|
||
com.effigenix.domain.quality // Quality BC
|
||
com.effigenix.domain.labeling // Labeling BC
|
||
com.effigenix.domain.inventory // Inventory BC
|
||
com.effigenix.domain.procurement // Procurement BC
|
||
com.effigenix.domain.filiales // Filiales BC (Plural!)
|
||
com.effigenix.domain.masterdata // Master Data BC
|
||
```
|
||
|
||
### Classes (Englisch!)
|
||
```java
|
||
// Aggregates: Singular noun
|
||
Recipe, Batch, ProductionOrder
|
||
TemperatureLog, CleaningRecord
|
||
ProductLabel, AllergenMatrix
|
||
Stock, StockMovement, InventoryCount, StorageLocation
|
||
PurchaseOrder, GoodsReceipt
|
||
Branch, InterBranchTransfer
|
||
|
||
// Value Objects: Descriptive noun
|
||
RecipeId, BatchId, YieldPercentage
|
||
Temperature, CriticalLimit
|
||
AllergenType, NutritionFacts
|
||
BatchReference, MinimumLevel, MinimumShelfLife
|
||
TemperatureRange, StorageLocationName
|
||
Quantity, Money, Timestamp
|
||
```
|
||
|
||
### Methods (Englisch!)
|
||
```java
|
||
// Domain behavior (verbs)
|
||
recipe.addIngredient(...)
|
||
batch.complete(...)
|
||
stock.addBatch(...)
|
||
stock.reserve(...)
|
||
stock.confirmReservation(...)
|
||
purchaseOrder.confirm(...)
|
||
|
||
// Factory methods
|
||
Recipe.create(...)
|
||
Batch.of(...)
|
||
|
||
// Getters (no "get" prefix)
|
||
recipe.id()
|
||
batch.status()
|
||
stock.availableQuantity()
|
||
```
|
||
|
||
---
|
||
|
||
## Anti-Patterns (NICHT verwenden!)
|
||
|
||
❌ **Technische Begriffe im Domain:**
|
||
- ~~DTO~~, ~~Entity~~ (nur als Typ-Suffix in Infrastructure)
|
||
- ~~Save~~, ~~Update~~, ~~Delete~~ (stattdessen: Domain-Verben)
|
||
|
||
❌ **Abkürzungen ohne Definition:**
|
||
- ~~WE~~ → Wareneingang / Goods Receipt
|
||
- ~~BS~~ → Bestand / Stock
|
||
|
||
❌ **Deutsche Begriffe im Code:**
|
||
- ~~Rezept.java~~ → Recipe.java
|
||
- ~~addZutat()~~ → addIngredient()
|
||
|
||
✅ **Deutsche Begriffe nur in:**
|
||
- Dokumentation
|
||
- UI/UX
|
||
- User Stories
|
||
- Glossar (wie dieses Dokument)
|