← All anti-patterns

Software engineering / Object-oriented programming

BaseBean

A class inherits from a utility class to obtain implementation convenience, even though it does not represent a meaningful subtype.

A class inherits from a utility class to obtain implementation convenience, even though it does not represent a meaningful subtype.

This introduces an inheritance relationship where delegation or composition may express the dependency more clearly. Changes to the superclass can then affect descendants that only wanted to reuse a small piece of functionality.

Editorial overview. The linked standalone Wikipedia article was unavailable when this site was prepared.

Recurring responses shape the systems we live in.
Recognising the pattern is the beginning of change.

Selected Works

My first projectProject type