2.8 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | ||
|---|---|---|---|---|---|---|
|
2026-04-16T12:23:10.877701+00:00 | zai-org/GLM-5-FP8 | 1 | 3183c8a5d454e0e2 |
Documentation: Navigation Interfaces
1. Purpose
This module defines the core navigation interfaces for the DTS viewer system, establishing a contract between navigation views and their associated view models. It follows the MVVM (Model-View-ViewModel) pattern, providing INavigationView as a marker interface for navigation view components and INavigationViewModel as the interface that exposes access to the navigation view. This abstraction layer allows for decoupled navigation components within the larger DTS.CommonCore framework.
2. Public Interface
INavigationView
Namespace: DTS.Common.Interface
Inheritance: IBaseView
An empty marker interface extending IBaseView. It defines no members of its own; its purpose is to provide type identity for navigation view implementations within the view hierarchy.
INavigationViewModel
Namespace: DTS.Common.Interface
Inheritance: IBaseViewModel
| Member | Type | Access | Description |
|---|---|---|---|
NavigationView |
INavigationView |
get |
Returns the associated navigation view instance. |
3. Invariants
INavigationViewmust always inherit fromIBaseView.INavigationViewModelmust always inherit fromIBaseViewModel.- The
NavigationViewproperty on anyINavigationViewModelimplementation must return an object that implementsINavigationView. - The inheritance chain implies that any
INavigationVieworINavigationViewModelimplementation must also satisfy the contracts of their respective base interfaces (IBaseView,IBaseViewModel).
4. Dependencies
This module depends on:
DTS.Common.Base— providesIBaseViewandIBaseViewModelbase interfaces.
What depends on this module:
- Cannot be determined from source alone. No downstream consumers are visible in the provided files.
5. Gotchas
-
Documentation mismatch: The XML summary comment for
INavigationViewModel.NavigationViewstates "Gets the Shell View," but the property is namedNavigationView. It is unclear whether this is a copy-paste error in documentation, a historical naming remnant, or if "Shell View" and "Navigation View" are intended to be synonymous in this context. -
Empty interface design:
INavigationViewdefines no members and serves only as a marker interface. Developers implementing this interface must consultIBaseViewto understand the actual required members, which are not visible in these source files.