Files
DP44/docs/ai/Common/DTS.Common/Interface/SensorTemplates.md
2026-04-17 14:55:32 -04:00

3.4 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.Common/Interface/SensorTemplates/ISensorTemplatesView.cs
Common/DTS.Common/Interface/SensorTemplates/ISensorTemplatesViewModel.cs
2026-04-17T16:37:26.799222+00:00 zai-org/GLM-5-FP8 1 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:
    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:
    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