Bloated Service

Written by

in

Description

A service that has one large interface with many parameters or requires much data and performs mostly heterogeneous operations with low cohesion.

Context

Derived from: “Long Parameter List”
Don’t get rid of options if doing so would cause unwanted dependency between components.

Cause

A long list of required inputs might happen after several types of operations are merged in a single element. A long list may have been created to control which functionality will be run and how. It’s hard to understand such lists, which become contradictory and hard to use as they grow longer.

Consequences

Bad understandability. Refactoring may reveal previously unnoticed Duplication of functionality.

Detection

A service requires a lot of information to perform its task.

Solution

Check what information is passed. Instead of passing a group of data received from another object, refer to the object itself. If there are several unrelated elements, sometimes you can merge them into a more abstract object.

Tags

microservices, soa, business, application, technology, cohesion, The Bloaters, within elements

Related smells

All smells