init
This commit is contained in:
@@ -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).
|
||||
Reference in New Issue
Block a user