Skip to content

API Bloat [BATCH-333] #3242

Closed
Closed
@spring-projects-issues

Description

@spring-projects-issues

Gregory Kick opened BATCH-333 and commented

Here's a quick look at the spring batch trunk from an API perspective:
Top-level classes: 202
Top-level interfaces: 61
Inner classes: 26
Inner interfaces: 2
Subclassable classes: 182
Implementable interfaces: 62
Explicitly overridable methods: 178
Implicitly overridable methods: 512

Subclassable classes are those that are public and not final. Implementable interfaces are those that are public. Explicitly overridable methods are those that are designed to be overridden (i.e. methods in interfaces and abstract methods). Implicitly overridable methods are those found in subclassable classes that may be overridden (i.e. public or protected and not final).

This is getting pretty out of hand... 80% of the spring-batch classes are subclassable on top of the 26 public interfaces. Developers are overwhelmed with extension points. While it's nice to be flexible, this is a framework and extensibility needs to be directed.


Attachments:

This issue is a sub-task of BATCH-675

1 votes, 2 watchers

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions