Magento 2 implements the service contracts design pattern – a set of PHP interfaces that are defined for a module. A service contract includes service and data interfaces, which hide business logic details from service requestors such as controllers, web services, and other modules.
We are going to talk about event system approach in development. The event is a very flexible way to extend application logic. This approach is actual in both Magento 1 and Magento 2. Let’s go ahead and check how it works.