Skip to content

Use base classes instead of interfaces for most types in the SDK namespace #395

@mslukebo

Description

@mslukebo

We expose many public interface types in the SDK namespace, such as IProcessingSource and ITableBuilder.

This presents challenges when trying to add new functionality to types in a backwards compatible way. When a new method is added to one of these interfaces, any plugin directly implementing it will see a compilation break. This means the new methods are technically major breaking changes, only being allowed with major version bumps (i.e. 1.0 to 2.0).

To fix this, most types exposed in the SDK namespace should be abstract base classes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions