be defined in terms of decoupling …… Decoupling in time means that the sender and receiver …… do not need to be present at the same time for communication to be possible. It is enabled by adding asynchronous boundaries between the components ……
UserRepositoryImpl() val service = new UserNameChangeServiceImpl(repository) import ExecutionContext.Implicits.global service.changeNameTx(UserId(1L), "Martin Odersky").onComplete { case Success(_) => //do something case Failure(_) => //do something } } FUTUREͰ࣮͞ΕͨγεςϜ