-
Notifications
You must be signed in to change notification settings - Fork 39
Open
Description
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:
- Identify all public interfaces in the SDK.
- 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.
adamsitnik
Metadata
Metadata
Assignees
Labels
No labels