init
This commit is contained in:
64
docs/ai/Common/DTS.Common/Interface/LabDetails.md
Normal file
64
docs/ai/Common/DTS.Common/Interface/LabDetails.md
Normal file
@@ -0,0 +1,64 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.Common/Interface/LabDetails/ILabDetailsView.cs
|
||||
- Common/DTS.Common/Interface/LabDetails/ILabDetailsViewModel.cs
|
||||
- Common/DTS.Common/Interface/LabDetails/ILabDetailsMenuView.cs
|
||||
- Common/DTS.Common/Interface/LabDetails/ILabDetailsMenuViewModel.cs
|
||||
generated_at: "2026-04-17T16:34:44.878640+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "c9488231a3aee52d"
|
||||
---
|
||||
|
||||
# Documentation: LabDetails Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines four marker interfaces for the LabDetails feature within an MVVM (Model-View-ViewModel) architecture. The interfaces establish type contracts for two distinct UI components: a main LabDetails view with its corresponding view model, and a LabDetails menu view integrated with a ribbon control system. These interfaces enable dependency injection, testability, and loose coupling between UI components and their consumers.
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### ILabDetailsView
|
||||
**Signature:** `public interface ILabDetailsView : IBaseView { }`
|
||||
|
||||
A marker interface extending `IBaseView`. Represents the main view contract for LabDetails functionality. No members are defined beyond those inherited from `IBaseView`.
|
||||
|
||||
---
|
||||
|
||||
### ILabDetailsViewModel
|
||||
**Signature:** `public interface ILabDetailsViewModel : IBaseViewModel { }`
|
||||
|
||||
A marker interface extending `IBaseViewModel`. Represents the view model contract paired with `ILabDetailsView`. No members are defined beyond those inherited from `IBaseViewModel`.
|
||||
|
||||
---
|
||||
|
||||
### ILabDetailsMenuView
|
||||
**Signature:** `public interface ILabDetailsMenuView : IRibbonView { }`
|
||||
|
||||
A marker interface extending `IRibbonView`. Represents a menu view contract for LabDetails that integrates with a ribbon control system. No members are defined beyond those inherited from `IRibbonView`.
|
||||
|
||||
---
|
||||
|
||||
### ILabDetailsMenuViewModel
|
||||
**Signature:** `public interface ILabDetailsMenuViewModel : IRibbonViewModel { }`
|
||||
|
||||
A marker interface extending `IRibbonViewModel`. Represents the view model contract paired with `ILabDetailsMenuView`. No members are defined beyond those inherited from `IRibbonViewModel`.
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- Each view interface (`ILabDetailsView`, `ILabDetailsMenuView`) must have a corresponding view model interface (`ILabDetailsViewModel`, `ILabDetailsMenuViewModel`) following the MVVM pairing pattern.
|
||||
- All interfaces are marker interfaces with no additional members; any behavioral contracts are inherited from their respective base interfaces (`IBaseView`, `IBaseViewModel`, `IRibbonView`, `IRibbonViewModel`).
|
||||
- The specific invariants enforced by `IBaseView`, `IBaseViewModel`, `IRibbonView`, and `IRibbonViewModel` are not visible in the provided source.
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `DTS.Common.Base` — provides `IBaseView` and `IBaseViewModel` base types
|
||||
- `DTS.Common.RibbonControl` — provides `IRibbonView` and `IRibbonViewModel` base types
|
||||
|
||||
### What depends on this module:
|
||||
- Not determinable from the provided source alone. Consumers would typically include concrete implementations of these interfaces and any modules that reference LabDetails views or view models through these contracts.
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Marker interfaces:** All four interfaces define no members of their own. They serve purely
|
||||
Reference in New Issue
Block a user