Files
DP44/docs/ai/Common/DTS.CommonCore/Interface/LabDetails.md
2026-04-17 14:55:32 -04:00

2.8 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.CommonCore/Interface/LabDetails/ILabDetailsView.cs
Common/DTS.CommonCore/Interface/LabDetails/ILabDetailsViewModel.cs
Common/DTS.CommonCore/Interface/LabDetails/ILabDetailsMenuView.cs
Common/DTS.CommonCore/Interface/LabDetails/ILabDetailsMenuViewModel.cs
2026-04-17T16:34:43.882505+00:00 zai-org/GLM-5-FP8 1 b87639c5f06e073a

Documentation: LabDetails Interfaces

1. Purpose

This module defines four marker interfaces for the "LabDetails" feature within an MVVM (Model-View-ViewModel) architecture. These interfaces establish type contracts for views and viewmodels, enabling dependency injection, view-model binding, and separation of concerns. The module provides two parallel hierarchies: a standard view/viewmodel pair extending base types, and a "Menu" variant integrating with a Ribbon control system.

2. Public Interface

ILabDetailsView

  • Namespace: DTS.Common.Interface
  • Inheritance: IBaseView (from DTS.Common.Base)
  • Members: None defined (marker interface)
  • Description: Represents the view contract for LabDetails display functionality.

ILabDetailsViewModel

  • Namespace: DTS.Common.Interface
  • Inheritance: IBaseViewModel (from DTS.Common.Base)
  • Members: None defined (marker interface)
  • Description: Represents the viewmodel contract for LabDetails presentation logic.

ILabDetailsMenuView

  • Namespace: DTS.Common.Interface
  • Inheritance: IRibbonView (from DTS.Common.RibbonControl)
  • Members: None defined (marker interface)
  • Description: Represents a Ribbon-integrated menu view for LabDetails functionality.

ILabDetailsMenuViewModel

  • Namespace: DTS.Common.Interface
  • Inheritance: IRibbonViewModel (from DTS.Common.RibbonControl)
  • Members: None defined (marker interface)
  • Description: Represents the viewmodel contract for the LabDetails Ribbon menu.

3. Invariants

  • All four interfaces are marker interfaces with no members of their own; all behavior contracts are inherited from their respective base interfaces.
  • The naming convention implies a strict pairing: ILabDetailsView pairs with ILabDetailsViewModel, and ILabDetailsMenuView pairs with ILabDetailsMenuViewModel.
  • All types reside in the DTS.Common.Interface namespace.

4. Dependencies

External Dependencies (Imports)

Interface Dependency Source Namespace
ILabDetailsView IBaseView DTS.Common.Base
ILabDetailsViewModel IBaseViewModel DTS.Common.Base
ILabDetailsMenuView IRibbonView DTS.Common.RibbonControl
ILabDetailsMenuViewModel IRibbonViewModel DTS.Common.RibbonControl

Downstream Dependencies