Files
DP44/docs/ai/Common/DTS.CommonCore/Interface/CheckTrigger.md

47 lines
3.1 KiB
Markdown
Raw Normal View History

2026-04-17 14:55:32 -04:00
---
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.