Following the essential rule of Layered Architecture, there's a risk when implementing Domain interfaces that contain infrastructural concerns.
As an example, with MVC, the PostRepository class from the previous example should be placed in the Domain Model. However, placing infrastructural details right in the middle of our Domain violates Separation of Concerns. This can be problematic; it's difficult to avoid violating the essential rules of Layered Architecture, which leads to a style of code that can become hard to test if the Domain layer is aware of technical implementations.