--- source_files: - Common/DTS.CommonCore/Interface/ViewData/IViewDataView.cs - Common/DTS.CommonCore/Interface/ViewData/IViewDataViewModel.cs generated_at: "2026-04-17T16:05:00.429832+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "bb2e4e0477457c10" --- # ViewData ### Purpose This module defines the view/viewmodel contract pair for a "ViewData" feature within the DTS application. It follows the MVVM (Model-View-ViewModel) pattern by providing marker interfaces that extend base view and viewmodel abstractions, enabling the system to identify and bind ViewData components without imposing additional behavioral contracts. ### Public Interface **`IViewDataView`** (interface, `DTS.Common.Interface` namespace) - Inherits from: `IBaseView` - Members: None (marker interface) **`IViewDataViewModel`** (interface, `DTS.Common.Interface` namespace) - Inherits from: `IBaseViewModel` - Members: None (marker interface) ### Invariants - Both interfaces must be implemented together in a matching View/ViewModel pair to maintain MVVM consistency. - Implementations must satisfy the contracts of `IBaseView` and `IBaseViewModel` respectively (specific contracts not visible in this source). ### Dependencies - **Depends on**: `DTS.Common.Base` (specifically `IBaseView` and `IBaseViewModel`) - **Depended on by**: Cannot be determined from source alone (likely ViewData feature implementations and DI container registrations) ### Gotchas - Neither interface defines any members beyond their base interfaces. Any ViewData-specific behavior must be defined in concrete implementations or other partial contracts not shown here. ---