64 lines
2.8 KiB
Markdown
64 lines
2.8 KiB
Markdown
|
|
---
|
||
|
|
source_files:
|
||
|
|
- Common/DTS.CommonCore/Interface/EngineerDetails/IEngineerDetailsView.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/EngineerDetails/IEngineerDetailsViewModel.cs
|
||
|
|
generated_at: "2026-04-16T12:11:30.697854+00:00"
|
||
|
|
model: "zai-org/GLM-5-FP8"
|
||
|
|
schema_version: 1
|
||
|
|
sha256: "feca2337b3dd2d0e"
|
||
|
|
---
|
||
|
|
|
||
|
|
# Documentation: Engineer Details Interfaces
|
||
|
|
|
||
|
|
## 1. Purpose
|
||
|
|
|
||
|
|
This module defines two empty marker interfaces, `IEngineerDetailsView` and `IEngineerDetailsViewModel`, which establish the View and ViewModel contracts for an "Engineer Details" feature within the DTS application. These interfaces follow the MVVM (Model-View-ViewModel) architectural pattern and exist primarily to provide type-specific identification and dependency injection registration points by extending base view and view model interfaces.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 2. Public Interface
|
||
|
|
|
||
|
|
### `IEngineerDetailsView`
|
||
|
|
- **Namespace:** `DTS.Common.Interface`
|
||
|
|
- **Inherits from:** `IBaseView` (from `DTS.Common.Base`)
|
||
|
|
- **Signature:**
|
||
|
|
```csharp
|
||
|
|
public interface IEngineerDetailsView : IBaseView { }
|
||
|
|
```
|
||
|
|
- **Behavior:** Empty marker interface. No members defined. Relies entirely on the contract defined by `IBaseView`.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### `IEngineerDetailsViewModel`
|
||
|
|
- **Namespace:** `DTS.Common.Interface`
|
||
|
|
- **Inherits from:** `IBaseViewModel` (from `DTS.Common.Base`)
|
||
|
|
- **Signature:**
|
||
|
|
```csharp
|
||
|
|
public interface IEngineerDetailsViewModel : IBaseViewModel { }
|
||
|
|
```
|
||
|
|
- **Behavior:** Empty marker interface. No members defined. Relies entirely on the contract defined by `IBaseViewModel`.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 3. Invariants
|
||
|
|
|
||
|
|
- Both interfaces are empty and define no additional members beyond their base interfaces.
|
||
|
|
- Any invariants are inherited from `IBaseView` and `IBaseViewModel` respectively; the specific constraints of those base interfaces are not visible in the provided source.
|
||
|
|
- Implementations of these interfaces must fulfill the contracts of their respective base types.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 4. Dependencies
|
||
|
|
|
||
|
|
### This module depends on:
|
||
|
|
- `DTS.Common.Base` — provides `IBaseView` and `IBaseViewModel` base interfaces.
|
||
|
|
|
||
|
|
### What depends on this module:
|
||
|
|
- **Cannot be determined from source alone.** Consumers would typically include concrete View and ViewModel implementations, dependency injection registration modules, or navigation/routing components within the DTS system.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 5. Gotchas
|
||
|
|
|
||
|
|
- **Marker interfaces with no members:** Both interfaces are empty and serve only as type identifiers. They do not define any Engineer Details-specific properties, methods, or events. All functionality must come from the base interfaces or be added via extension methods elsewhere.
|
||
|
|
- **Base interface contracts unknown:** The actual capabilities and requirements of these interfaces depend entirely on `IBaseView` and `IBaseViewModel`, which are not included in the provided source. Developers should consult those base definitions to understand the full contract.
|