47 lines
3.1 KiB
Markdown
47 lines
3.1 KiB
Markdown
|
|
---
|
||
|
|
source_files:
|
||
|
|
- Common/DTS.CommonCore/Interface/CheckTrigger/ICheckTriggerView.cs
|
||
|
|
- Common/DTS.CommonCore/Interface/CheckTrigger/ICheckTriggerViewModel.cs
|
||
|
|
generated_at: "2026-04-17T16:36:18.184208+00:00"
|
||
|
|
model: "zai-org/GLM-5-FP8"
|
||
|
|
schema_version: 1
|
||
|
|
sha256: "a2e651bebe370a84"
|
||
|
|
---
|
||
|
|
|
||
|
|
# Documentation: ICheckTriggerView and ICheckTriggerViewModel
|
||
|
|
|
||
|
|
## 1. Purpose
|
||
|
|
|
||
|
|
This module defines two marker interfaces—`ICheckTriggerView` and `ICheckTriggerViewModel`—that establish the View and ViewModel contracts for a "CheckTrigger" feature within an MVVM (Model-View-ViewModel) architecture. These interfaces serve as type identifiers, inheriting from base framework interfaces (`IBaseView` and `IBaseViewModel` respectively) without adding additional members. They exist to enable type-safe binding, dependency injection, or navigation registration within the DTS.CommonCore system.
|
||
|
|
|
||
|
|
## 2. Public Interface
|
||
|
|
|
||
|
|
### `ICheckTriggerView`
|
||
|
|
- **Signature:** `public interface ICheckTriggerView : IBaseView { }`
|
||
|
|
- **Namespace:** `DTS.Common.Interface`
|
||
|
|
- **Behavior:** Empty marker interface extending `IBaseView`. Provides no additional members beyond those inherited from `IBaseView`. Intended to be implemented by View components associated with CheckTrigger functionality.
|
||
|
|
|
||
|
|
### `ICheckTriggerViewModel`
|
||
|
|
- **Signature:** `public interface ICheckTriggerViewModel : IBaseViewModel { }`
|
||
|
|
- **Namespace:** `DTS.Common.Interface`
|
||
|
|
- **Behavior:** Empty marker interface extending `IBaseViewModel`. Provides no additional members beyond those inherited from `IBaseViewModel`. Intended to be implemented by ViewModel components associated with CheckTrigger functionality.
|
||
|
|
|
||
|
|
## 3. Invariants
|
||
|
|
|
||
|
|
- Any class implementing `ICheckTriggerView` must also satisfy the contract of `IBaseView` (defined in `DTS.Common.Base`).
|
||
|
|
- Any class implementing `ICheckTriggerViewModel` must also satisfy the contract of `IBaseViewModel` (defined in `DTS.Common.Base`).
|
||
|
|
- The actual member requirements for these interfaces are determined entirely by their base interfaces, which are not shown in the provided source.
|
||
|
|
|
||
|
|
## 4. Dependencies
|
||
|
|
|
||
|
|
### This module depends on:
|
||
|
|
- `DTS.Common.Base` — Provides `IBaseView` and `IBaseViewModel` base interfaces.
|
||
|
|
|
||
|
|
### What depends on this module:
|
||
|
|
- **Unclear from source alone.** Consumers would include any View or ViewModel classes implementing these interfaces, as well as any navigation, routing, or dependency injection infrastructure that registers or resolves these types.
|
||
|
|
|
||
|
|
## 5. Gotchas
|
||
|
|
|
||
|
|
- **Marker interfaces with no members:** Neither interface defines any properties, methods, or events. All contractual behavior is inherited from `IBaseView` and `IBaseViewModel`. Developers implementing these interfaces must consult the base interface definitions to understand required members.
|
||
|
|
- **Naming convention:** The "CheckTrigger" naming suggests a specific feature domain, but the purpose and behavior of this feature cannot be determined from these interface definitions alone.
|
||
|
|
- **No explicit View-ViewModel pairing:** While the naming suggests these interfaces are paired (View/ViewModel), there is no compile-time enforcement of this relationship in the source.
|