An interface is a programming structure that allows the computer to enforce certain properties on an object. In object oriented programming, an interface generally defines the set of methods that an instance of a class that has that interface could respond to. It is actually a concept of abstraction and encapsulation.
Previously, we explored the fundamental concepts and terminology utilized in Domain Driven Design (DDD), as well as the layers that make up its architecture. In this section, we will examine the artifacts employed to integrate these concepts and construct our application, using PHP as an example.