Files
DP44/docs/ai/Common/DTS.CommonCore/Interface/CustomerDetails.md

67 lines
3.1 KiB
Markdown
Raw Normal View History

2026-04-17 14:55:32 -04:00
---
source_files:
- Common/DTS.CommonCore/Interface/CustomerDetails/ICustomerDetailsView.cs
- Common/DTS.CommonCore/Interface/CustomerDetails/ICustomerDetailsViewModel.cs
generated_at: "2026-04-17T16:36:39.753469+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "68517ff654ee10bc"
---
# Documentation: Customer Details Interfaces
## 1. Purpose
This module defines two marker interfaces, `ICustomerDetailsView` and `ICustomerDetailsViewModel`, which establish the View and ViewModel contracts for a Customer Details feature within an MVVM (Model-View-ViewModel) architecture. These interfaces extend base framework types (`IBaseView` and `IBaseViewModel`) without adding additional members, serving primarily as type identifiers for dependency injection, navigation, or view-binding purposes within the DTS.CommonCore system.
---
## 2. Public Interface
### `ICustomerDetailsView`
**Namespace:** `DTS.Common.Interface`
**Declaration:**
```csharp
public interface ICustomerDetailsView : IBaseView { }
```
**Description:** A marker interface representing the View component for customer details. Inherits from `IBaseView` (defined in `DTS.Common.Base`). Declares no additional members beyond its base interface.
---
### `ICustomerDetailsViewModel`
**Namespace:** `DTS.Common.Interface`
**Declaration:**
```csharp
public interface ICustomerDetailsViewModel : IBaseViewModel { }
```
**Description:** A marker interface representing the ViewModel component for customer details. Inherits from `IBaseViewModel` (defined in `DTS.Common.Base`). Declares no additional members beyond its base interface.
---
## 3. Invariants
- Both interfaces are empty marker interfaces; any invariants are inherited from their respective base interfaces (`IBaseView` and `IBaseViewModel`).
- **Unclear from source:** The specific contracts, properties, or methods guaranteed by `IBaseView` and `IBaseViewModel` are not defined in the provided source files.
---
## 4. Dependencies
### This module depends on:
- `DTS.Common.Base` namespace
- `IBaseView` — base interface for `ICustomerDetailsView`
- `IBaseViewModel` — base interface for `ICustomerDetailsViewModel`
### What depends on this module:
- **Unclear from source alone.** Consumers would typically include:
- Concrete View implementations (e.g., WPF windows, pages, or user controls implementing `ICustomerDetailsView`)
- Concrete ViewModel implementations implementing `ICustomerDetailsViewModel`
- DI container registrations or navigation service configurations
---
## 5. Gotchas
- **Empty marker interfaces:** Neither interface defines any members. All functionality must come from the base interfaces (`IBaseView`, `IBaseViewModel`) or be added via extension methods elsewhere in the codebase.
- **No explicit contract:** Without visibility into `IBaseView` and `IBaseViewModel`, the actual capabilities and requirements of these interfaces cannot be determined from the provided source.
- **Naming convention:** The interfaces follow a strict naming pattern (`ICustomerDetailsView` / `ICustomerDetailsViewModel`) suggesting a paired relationship, but this pairing is not enforced at the type level.