This commit is contained in:
2026-04-17 14:55:32 -04:00
commit bc3ac1d4c9
18017 changed files with 4371742 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
---
source_files:
- Common/DTS.CommonCore/Interface/_GenericModule/IGenericModuleView.cs
- Common/DTS.CommonCore/Interface/_GenericModule/IGenericModuleViewModel.cs
generated_at: "2026-04-16T12:17:41.765515+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "857aa9f92afca967"
---
# Documentation: DTS.Common.Interface (Generic Module)
## 1. Purpose
This module defines the core abstraction layer for "Generic Modules" within the system, adhering to a View/ViewModel separation pattern. It provides two marker interfaces, `IGenericModuleView` and `IGenericModuleViewModel`, which establish a standard contract for module implementations. These interfaces ensure that generic modules derive from the application's foundational base types (`IBaseView` and `IBaseViewModel`), enabling polymorphic handling and consistent architecture across the codebase.
## 2. Public Interface
### `IGenericModuleView`
* **Namespace:** `DTS.Common.Interface`
* **Inheritance:** `IBaseView`
* **Signature:**
```csharp
public interface IGenericModuleView : IBaseView { }
```
* **Description:** A marker interface intended for View components within a Generic Module. It inherits from `IBaseView` but defines no additional members.
### `IGenericModuleViewModel`
* **Namespace:** `DTS.Common.Interface`
* **Inheritance:** `IBaseViewModel`
* **Signature:**
```csharp
public interface IGenericModuleViewModel : IBaseViewModel { }
```
* **Description:** A marker interface intended for ViewModel components within a Generic Module. It inherits from `IBaseViewModel` but defines no additional members.
## 3. Invariants
* **Type Hierarchy:** Any class implementing `IGenericModuleView` must also implement `IBaseView` (defined in `DTS.Common.Base`).
* **Type Hierarchy:** Any class implementing `IGenericModuleViewModel` must also implement `IBaseViewModel` (defined in `DTS.Common.Base`).
* **Behavioral Contract:** Since neither interface defines methods or properties, the behavioral contract is entirely defined by the parent interfaces (`IBaseView` and `IBaseViewModel`).
## 4. Dependencies
* **Internal Dependencies:**
* `DTS.Common.Base`: Both source files import this namespace to access `IBaseView` and `IBaseViewModel`.
* **Consumers:** Unknown from the source alone. These interfaces are likely consumed by classes implementing specific module views and viewmodels, or by navigation/dependency injection infrastructure that resolves generic module types.
## 5. Gotchas
* **Marker Interfaces:** Both `IGenericModuleView` and `IGenericModuleViewModel` are empty "marker" interfaces. They do not expose any specific functionality (properties, methods, or events) themselves. Developers must inspect `IBaseView` and `IBaseViewModel` to understand the actual API surface area required for implementation.
* **Usage Ambiguity:** The source does not specify what constitutes a "Generic Module" versus a standard module. The distinction is likely defined by convention or usage in other parts of the codebase (e.g., specific registration logic or base classes).