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

2.6 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.Common/Interface/_GenericModule/IGenericModuleView.cs
Common/DTS.Common/Interface/_GenericModule/IGenericModuleViewModel.cs
2026-04-17T16:37:19.503229+00:00 zai-org/GLM-5-FP8 1 bf7ed2ed0d95051d

Documentation: IGenericModuleView & IGenericModuleViewModel

1. Purpose

This module defines two marker interfaces—IGenericModuleView and `IGenericModuleViewModel—that establish a type hierarchy for generic module components within the DTS system. These interfaces follow the Model-View-ViewModel (MVVM) pattern, providing a common base type for views and view models that can be used across generic module implementations. They serve as extension points for polymorphic handling of module-related UI components.

2. Public Interface

IGenericModuleView

  • Signature: public interface IGenericModuleView : IBaseView
  • Namespace: DTS.Common.Interface
  • Inheritance: Extends IBaseView from DTS.Common.Base
  • Members: None (marker interface)

IGenericModuleViewModel

  • Signature: public interface IGenericModuleViewModel : IBaseViewModel
  • Namespace: DTS.Common.Interface
  • Inheritance: Extends IBaseViewModel from DTS.Common.Base
  • Members: None (marker interface)

3. Invariants

  • Both interfaces must always inherit from their respective base interfaces (IBaseView and IBaseViewModel) from DTS.Common.Base.
  • Any class implementing IGenericModuleView must also implement all members of IBaseView (members not visible in provided source).
  • Any class implementing IGenericModuleViewModel must also implement all members of IBaseViewModel (members not visible in provided source).
  • The interfaces themselves define no additional members beyond their inheritance hierarchy.

4. Dependencies

This module depends on:

  • DTS.Common.Base — Provides IBaseView and IBaseViewModel parent interfaces.

What depends on this module:

  • Unknown from source alone. Consumers would be concrete view and view model implementations within the generic module system.

5. Gotchas

  • Empty marker interfaces: Both interfaces define no members of their own. Their value lies entirely in type identification and the inheritance chain. Developers should not expect any contract methods or properties from these interfaces directly.
  • Base interface contracts unknown: The actual behavioral contracts are defined in IBaseView and IBaseViewModel, which are not included in the provided source. The full obligations of implementers cannot be determined from these files alone.