1 - The diamond problem Click here to see the Source code. The problem: The solution: 2 - PaymentOnline with interfaces and services Click here to see the Source code. Domain: Service Layer design: 3 - CarRent with interfaces and services Click here to see the Source code. Domain: Services: Service Layer design: