Представьте кофейный автомат, который делает вкусный, ароматный кофе, как только пользователь нажмёт на нём кнопку. Предположим, что в его составе есть такие функциональные блоки: бачок с водой, водонагреватель, мельница, перемалывающая зёрна, и другие.
Если в аппарате выйдет из строя, например, мельница, он не сможет выдавать тот результат, который мы от него ожидаем, — вкусный кофе.
Чтобы решить эту проблему, мы заказываем новую мельницу, которая функционально подошла бы к кофейному аппарату. Если новая мельница технически исправна, то, установив её, мы получим ожидаемый результат — аппарат начнёт выдавать нам вкусный, ароматный кофе. Хотя мельница физически уже совсем другая, она, возможно, сделана из другого материала или даже на другом заводе, но, установленная в данный кофейный аппарат, позволит на выходе получить кофе.