4.5 KiB
4.5 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
2026-04-17T16:04:27.057929+00:00 | zai-org/GLM-5-FP8 | 1 | c772b146b8c7aa51 |
Interface
Purpose
This module defines the fundamental contracts for the MVVM (Model-View-ViewModel) architecture used within the DTS.CommonCore library. It establishes the base interfaces for property change notification, data models, views, and view models, ensuring a consistent approach to data binding and lifecycle management across the system.
Public Interface
-
interface IBasePropertyChanged : INotifyPropertyChanged- Extends
INotifyPropertyChangedto add a manual notification method. void OnPropertyChanged(string propertyName): Raises thePropertyChangedevent for the specified property name.
- Extends
-
interface IBaseClass : IBasePropertyChanged- A marker interface for base classes that support property change notification. It defines no additional members.
-
interface IBaseModel : IBasePropertyChanged- Represents a data model with a persistent state tracking capability.
bool IsSaved { get; }: Gets a value indicating whether the model is saved.
-
interface IViewModel- Defines a basic view model wrapper around a model object.
object Model { get; set; }: Gets or sets the underlying data model object.
-
interface IBaseView- Defines a view element capable of data binding.
object DataContext { get; set; }: Gets or sets the data context for the view.
-
interface IBaseWindow- Defines a window element capable of data binding.
object DataContext { get; set; }: Gets or sets the data context for the window.
-
interface IHeaderInfoProvider<T>- Provides a mechanism for classes to expose header information for XAML binding.
T HeaderInfo { get; }: Gets the header information.
-
interface IBaseViewModel : IBasePropertyChanged- Defines the lifecycle and state properties for a standard view model.
bool IsMenuIncluded { get; set; }: Gets or sets whether a menu is included.bool IsNavigationIncluded { get; set; }: Gets or sets whether navigation is included.bool IsBusy { get; set; }: Gets or sets the busy state.bool IsDirty { get; }: Gets whether the view model has unsaved changes.void Activated(): Called when the view model is activated.void Cleanup(): Synchronously cleans up resources.Task CleanupAsync(): Asynchronously cleans up resources.void Initialize(): Initializes the view model.void Initialize(object parameter): Initializes the view model with a parameter.void Initialize(object parameter, object model): Initializes the view model with a parameter and a model.Task InitializeAsync(): Asynchronously initializes the view model.Task InitializeAsync(object parameter): Asynchronously initializes the view model with a parameter.
-
interface IBaseWindowModel : INotifyPropertyChanged- Defines the lifecycle and state properties for a window-level model.
bool IsMenuIncluded { get; set; }bool IsNavigationIncluded { get; set; }bool IsBusy { get; set; }bool IsDirty { get; }void Activated()void Cleanup()Task CleanupAsync()void Initialize()void Initialize(object parameter)Task InitializeAsync()Task InitializeAsync(object parameter)
Invariants
IBaseView.DataContextandIBaseWindow.DataContextmust accept an object that is typically an implementation ofIBaseViewModelorIBaseWindowModel.IBaseViewModel.Initializeoverloads suggest that initialization logic must handle cases with zero, one, or two parameters.IBaseWindowModelinherits fromINotifyPropertyChangeddirectly, whereasIBaseViewModelinherits fromIBasePropertyChanged.
Dependencies
- Dependencies:
System.ComponentModel,System.Threading.Tasks. - **Dep