a2aproject / a2aproject/a2a-dotnet

Reconsider IA2AClient, ITaskManager, ITaskStore interfaces

Aperta
#133 1 commento 1 reazione 0 assegnatari Vedi su GitHub
Lingua principale
C#
Stelle
262
Fork
64
Merge medio
5g 2h
PR unite (30g)
31

Descrizione

### Context:
The A2A SDK declares a few public interfaces: `IA2AClient`, `ITaskManager`, `ITaskStore`, and corresponding classes that implement them. While having the interfaces may be quite convenient for polymorphic (when different implementations are required) and testability (mocking a class for testing purposes) cases, exposing the interfaces as part of the public API surface of SDKs may have downsides, such as a source of breaking changes for all third-party implementations that SDK authors are not aware of when new members are added to them.

### ToDo:
1. Identify all public interfaces in the SDK.
2. For each interface, consider:
- Whether it is actually required, and if not, consider removing it.
- Whether it can be turned into an abstract class. New members can easily be added to abstract classes as virtual without breaking existing implementations, but there could be a downside in case a consumer's class already inherits from another class - C# does not allow multiple inheritance.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.