--- 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.