Services maintain a relationship that minimizes dependencies and only requires that they retain an awareness of each other.
Services adhere to a communications agreement, as defined collectively by one or more service descriptions and related documents.
Services have control over the logic they encapsulate.
Beyond what is described in the service contract, services hide logic from the outside world.
Logic is divided into services with the intention of promoting reuse.
Collections of services can be coordinated and assembled to form composite services.
Services minimize retaining information specific to an activity.
Services are designed to be outwardly descriptive so they can be found and accessed by available discovery mechanisms.
Related Design Principles
Don't Repeat Yourself (DRY)
Also known as Once and Only Once or Single Point of Truth (SPOT), DRY is a process philosophy aimed at reducing duplication in automated systems. The philosophy emphasizes that information should not be duplicated, because duplication increases the difficulty of change, may decrease clarity, and leads to opportunities for inconsistency.
Separation of concerns is the process of breaking a computer program into distinct features that overlap in functionality as little as possible. A concern is any piece of interest or focus in a program. Typically, concerns are synonymous with features or behaviors.