3.5 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | |||
|---|---|---|---|---|---|---|---|
|
2026-04-16T12:19:27.871731+00:00 | zai-org/GLM-5-FP8 | 1 | ccb8183959611900 |
Documentation: DTS.Common.Interface.ExportData
1. Purpose
This module defines core interfaces for the data export subsystem within the DTS application. It establishes contracts for the view/viewmodel pair in an MVVM architecture and provides a data structure interface for representing export column headers with selection state. The interfaces serve as integration points between the export functionality and the broader application framework.
2. Public Interface
IExportDataView
Namespace: DTS.Common.Interface
Inheritance: IBaseView
A marker interface for export data views. Defines no members; exists to provide type identity for views that participate in data export operations.
IExportDataViewModel
Namespace: DTS.Common.Interface
Inheritance: IBaseViewModel
A marker interface for export data view models. Defines no members; exists to provide type identity for view models that support data export operations.
IExportHeader
Namespace: DTS.Common.Interface.ExportData
Inheritance: INotifyPropertyChanged
Defines a selectable header item for export column configuration.
| Property | Type | Access | Description |
|---|---|---|---|
HeaderName |
string |
get/set | The display name of the export header/column |
IsSelected |
bool |
get/set | Indicates whether this header/column is selected for export |
3. Invariants
- Namespace inconsistency:
IExportHeaderresides inDTS.Common.Interface.ExportData, whileIExportDataViewandIExportDataViewModelreside inDTS.Common.Interface. Consumers must reference the correct namespace for each type. - Property change notification: Implementations of
IExportHeadermust raisePropertyChangedevents whenHeaderNameorIsSelectedchanges, as required byINotifyPropertyChangedinheritance. - Base contract compliance: All three interfaces inherit from framework base types (
IBaseView,IBaseViewModel,INotifyPropertyChanged), implying implementations must satisfy those base contracts as well.
4. Dependencies
This module depends on:
DTS.Common.Base— providesIBaseViewandIBaseViewModelbase interfacesSystem.ComponentModel— providesINotifyPropertyChangedinterface
What depends on this module:
- Cannot be determined from source alone. Consumers would typically be concrete view/viewmodel implementations and export-related services.
5. Gotchas
- Marker interfaces with no members:
IExportDataViewandIExportDataViewModeldefine no members beyond their base interfaces. Their utility appears limited to type identification/constraint purposes. It is unclear from source alone whether this is intentional design or incomplete implementation. - Inconsistent namespace depth:
IExportHeaderis placed in a more specific namespace (ExportDatasub-namespace) while the view/viewmodel interfaces are not. The rationale for this inconsistency is not evident from the source. - No validation contracts:
IExportHeader.HeaderNamehas no nullability annotation or validation requirements defined in the interface. Implementations may handle null/empty strings differently.