← Graph

Complexity Grows Inward in Service Objects

takeaway 2 connections

Observation from Ivan Nemytchenko's tour of GitLab service objects: a service that starts with two private methods grows over time to ~200 lines of code, absorbing controller responsibilities (session handling, response preparation), mixing application and domain logic, calling other services (sometimes circularly), and inheriting from a Base Service framework invented to manage the complexity. Because all this code ends up in the same 'bucket' regardless of the kind of work it does, the single-responsibility principle and layered architecture are effectively killed. Better: find the right shelf and shape for each kind of work.

type
warning
takeaway Complexity Grows Inward in Service Objects
about
GitLab company
Observation drawn from GitLab's real service-object evolution.
takeaway Complexity Grows Inward in Service Objects
from_talk
Observation derived from the talk's tour of GitLab service objects.

Provenance

Read by
1 extraction