Files

49 lines
2.6 KiB
Markdown
Raw Permalink Normal View History

2026-04-17 14:55:32 -04:00
---
source_files:
- Common/DTS.Common/Interface/_GenericModule/IGenericModuleView.cs
- Common/DTS.Common/Interface/_GenericModule/IGenericModuleViewModel.cs
generated_at: "2026-04-17T16:37:19.503229+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "bf7ed2ed0d95051d"
---
# Documentation: IGenericModuleView & IGenericModuleViewModel
## 1. Purpose
This module defines two marker interfaces—`IGenericModuleView` and `IGenericModuleViewModel—that establish a type hierarchy for generic module components within the DTS system. These interfaces follow the Model-View-ViewModel (MVVM) pattern, providing a common base type for views and view models that can be used across generic module implementations. They serve as extension points for polymorphic handling of module-related UI components.
## 2. Public Interface
### `IGenericModuleView`
- **Signature:** `public interface IGenericModuleView : IBaseView`
- **Namespace:** `DTS.Common.Interface`
- **Inheritance:** Extends `IBaseView` from `DTS.Common.Base`
- **Members:** None (marker interface)
### `IGenericModuleViewModel`
- **Signature:** `public interface IGenericModuleViewModel : IBaseViewModel`
- **Namespace:** `DTS.Common.Interface`
- **Inheritance:** Extends `IBaseViewModel` from `DTS.Common.Base`
- **Members:** None (marker interface)
## 3. Invariants
- Both interfaces must always inherit from their respective base interfaces (`IBaseView` and `IBaseViewModel`) from `DTS.Common.Base`.
- Any class implementing `IGenericModuleView` must also implement all members of `IBaseView` (members not visible in provided source).
- Any class implementing `IGenericModuleViewModel` must also implement all members of `IBaseViewModel` (members not visible in provided source).
- The interfaces themselves define no additional members beyond their inheritance hierarchy.
## 4. Dependencies
**This module depends on:**
- `DTS.Common.Base` — Provides `IBaseView` and `IBaseViewModel` parent interfaces.
**What depends on this module:**
- Unknown from source alone. Consumers would be concrete view and view model implementations within the generic module system.
## 5. Gotchas
- **Empty marker interfaces:** Both interfaces define no members of their own. Their value lies entirely in type identification and the inheritance chain. Developers should not expect any contract methods or properties from these interfaces directly.
- **Base interface contracts unknown:** The actual behavioral contracts are defined in `IBaseView` and `IBaseViewModel`, which are not included in the provided source. The full obligations of implementers cannot be determined from these files alone.