--- source_files: - Common/DTS.Common/Interface/SensorTemplates/ISensorTemplatesView.cs - Common/DTS.Common/Interface/SensorTemplates/ISensorTemplatesViewModel.cs generated_at: "2026-04-17T16:37:26.799222+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "77f786dfa41cfc02" --- # Documentation: ISensorTemplatesView and ISensorTemplatesViewModel ## 1. Purpose This module defines two marker interfaces—`ISensorTemplatesView` and `ISensorTemplatesViewModel`—for the Sensor Templates feature within a Model-View-ViewModel (MVVM) architecture. These interfaces establish type contracts for the view and view model components, enabling dependency injection, type registration, and potentially navigation or lifecycle management within the broader DTS application framework. Both interfaces extend base contracts from the `DTS.Common.Base` namespace but do not define any feature-specific members. --- ## 2. Public Interface ### `ISensorTemplatesView` - **Namespace:** `DTS.Common.Interface` - **Inheritance:** `IBaseView` - **Signature:** ```csharp public interface ISensorTemplatesView : IBaseView ``` - **Behavior:** Empty marker interface. Inherits from `IBaseView` but declares no additional members. Intended to be implemented by a view class responsible for rendering the Sensor Templates UI. ### `ISensorTemplatesViewModel` - **Namespace:** `DTS.Common.Interface` - **Inheritance:** `IBaseViewModel` - **Signature:** ```csharp public interface ISensorTemplatesViewModel : IBaseViewModel ``` - **Behavior:** Empty marker interface. Inherits from `IBaseViewModel` but declares no additional members. Intended to be implemented by a view model class providing the presentation logic and state for the Sensor Templates feature. --- ## 3. Invariants - **Type hierarchy:** `ISensorTemplatesView` must always be assignable to `IBaseView`. `ISensorTemplatesViewModel` must always be assignable to `IBaseViewModel`. - **No additional contracts:** Neither interface defines its own members; all behavioral contracts are inherited from their respective base interfaces. - **Invariants from base types:** Any invariants enforced by `IBaseView` or `IBaseViewModel` apply transitively, but these are not visible in the provided source. --- ## 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 include concrete implementations of these interfaces (e.g., a SensorTemplatesView class or SensorTemplatesViewModel class), registration/bootstrapping code, or navigation/routing configurations. --- ## 5. Gotchas - **Empty interfaces:** Both interfaces are currently empty marker interfaces. This may indicate: - Intentional design for type identification, service registration, or navigation routing - Incomplete implementation awaiting feature-specific members - All required functionality already provided by base interfaces - **Base interface contracts unknown:** The actual responsibilities and members of `IBaseView` and `IBaseViewModel` are not visible in the provided source. Developers must consult `DTS.Common.Base` to understand what inherited contracts apply. - **Naming convention:** The interfaces follow a naming pattern suggesting a View-ViewModel pair, but no compile-time enforcement links them together (e